logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Test2::Tools::Class - Test2 implementation of the tools for testing classes.

Authors

       Chad Granum <exodist@cpan.org>

Description

       Test2 based tools for validating classes and objects. These are similar to some tools from Test::More,
       but they have a more consistent interface.

Exports

       All subs are exported by default.

       can_ok($thing, @methods)
       can_ok($thing, \@methods, $test_name)
           This checks that $thing (either a class name, or a blessed instance) has the specified methods.

           If  the  second argument is an arrayref then it will be used as the list of methods leaving the third
           argument to be the test name.

       isa_ok($thing, @classes)
       isa_ok($thing, \@classes, $test_name)
           This checks that $thing (either a class name, or a blessed instance) is or subclasses  the  specified
           classes.

           If  the  second argument is an arrayref then it will be used as the list of classes leaving the third
           argument to be the test name.

       DOES_ok($thing, @roles)
       DOES_ok($thing, \@roles, $test_name)
           This checks that $thing (either a class name, or a blessed instance) does the specified roles.

           If the second argument is an arrayref then it will be used as the list of  roles  leaving  the  third
           argument to be the test name.

           Note1: This uses the "$class->DOES(...)" method, not the does() method Moose provides.

           Note2:  Not  all  perls  have  the  DOES()  method, if you use this on those perls the test will be
           skipped.

Maintainers

       Chad Granum <exodist@cpan.org>

Name

       Test2::Tools::Class - Test2 implementation of the tools for testing classes.

Source

       The source code repository for Test2-Suite can be found at https://github.com/Test-More/Test2-Suite/.

Synopsis

           use Test2::Tools::Class;

           isa_ok($CLASS_OR_INSTANCE, $PARENT_CLASS1, $PARENT_CLASS2, ...);
           isa_ok($CLASS_OR_INSTANCE, [$PARENT_CLASS1, $PARENT_CLASS2, ...], "Test Name");

           can_ok($CLASS_OR_INSTANCE, $METHOD1, $METHOD2, ...);
           can_ok($CLASS_OR_INSTANCE, [$METHOD1, $METHOD2, ...], "Test Name");

           DOES_ok($CLASS_OR_INSTANCE, $ROLE1, $ROLE2, ...);
           DOES_ok($CLASS_OR_INSTANCE, [$ROLE1, $ROLE2, ...], "Test Name");

See Also