NAME
Test::Moose::More - More tools for testing Moose packages
VERSION
This document describes version 0.012 of Test::Moose::More - released September 29, 2012 as part of Test-Moose-More.
SYNOPSIS
use Test::Moose::More;
is_class 'Some::Class';
is_role 'Some::Role';
has_method_ok 'Some::Class', 'foo';
# ... etc
DESCRIPTION
This package contains a number of additional tests that can be employed against Moose classes/roles. It is intended to replace Test::Moose in your tests, and reexports any tests that it has and we do not, yet.
FUNCTIONS
known_sugar
Returns a list of all the known standard Moose sugar (has, extends, etc).
TEST_FUNCTIONS
meta_ok $thing
Tests $thing to see if it has a metaclass; $thing may be the class name or instance of the class you wish to check.
does_ok $thing, < $role | \@roles >, [ $message ]
Checks to see if $thing does the given roles. $thing may be the class name or instance of the class you wish to check.
Note that the message will be taken verbatim unless it contains %s
somewhere; this will be replaced with the name of the role being tested for.
does_not_ok $thing, < $role | \@roles >, [ $message ]
Checks to see if $thing does not do the given roles. $thing may be the class name or instance of the class you wish to check.
Note that the message will be taken verbatim unless it contains %s
somewhere; this will be replaced with the name of the role being tested for.
has_attribute_ok $thing, $attribute_name, [ $message ]
Checks $thing
for an attribute named $attribute_name
; $thing
may be a class name, instance, or role name.
has_method_ok $thing, @methods
Queries $thing's metaclass to see if $thing has the methods named in @methods.
requires_method_ok $thing, @methods
Queries $thing's metaclass to see if $thing requires the methods named in @methods.
Note that this really only makes sense if $thing is a role.
is_role $thing
Passes if $thing's metaclass is a Moose::Meta::Role.
is_class $thing
Passes if $thing's metaclass is a Moose::Meta::Class.
check_sugar_removed_ok $thing
Ensures that all the standard Moose sugar is no longer directly callable on a given package.
check_sugar_ok $thing
Checks and makes sure a class/etc can still do all the standard Moose sugar.
validate_thing
Runs a bunch of tests against the given $thing
, as defined:
validate_class $thing => (
attributes => [ ... ],
methods => [ ... ],
isa => [ ... ],
# ensures $thing does these roles
does => [ ... ],
# ensures $thing does not do these roles
does_not => [ ... ],
);
$thing
can be the name of a role or class, an object instance, or a metaclass.
validate_role
The same as validate_thing(), but ensures $thing
is a role, and allows for additional role-specific tests.
validate_role $thing => (
required_methods => [ ... ],
# ...and all other options from validate_thing()
validate_class
The same as validate_thing(), but ensures $thing
is a class, and allows for additional class-specific tests.
validate_attribute
Run checks against an attribute. Not yet documented or tested exhaustively.
SEE ALSO
Please see those modules/websites for more information related to this module.
SOURCE
The development version is on github at http://github.com/RsrchBoy/test-moose-more and may be cloned from git://github.com/RsrchBoy/test-moose-more.git
BUGS
Please report any bugs or feature requests on the bugtracker website https://github.com/RsrchBoy/test-moose-more/issues
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
AUTHOR
Chris Weyl <cweyl@alumni.drew.edu>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2012 by Chris Weyl.
This is free software, licensed under:
The GNU Lesser General Public License, Version 2.1, February 1999