TEST2::TOOLS::CLASS(3pm)
π NAME π
Test2::Tools::Class β the Test2 implementation of the tools for testing classes. This is the manual page for Test2::Tools::Class(3pm), bestie π«Ά
πΈ DESCRIPTION πΈ
Okay so this module gives you Test2-based tools for validating classes and objects. Theyβre similar to some tools from Test::More, but they have a more consistent interface. No cap, that consistency is the whole vibe β¨
β¨ 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");
π EXPORTS π
All subs are exported by default. Every single one, periodt π
can_ok($thing, @methods)andcan_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)andisa_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)andDOES_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 π«
Note 1: This uses the"$class->DOES(...)"method, not thedoes()method Moose provides. Important distinction, okay? π
Note 2: Not all perls have the DOES() method. If you use this on those perls, the test will be skipped. Itβs giving βwe donβt have the rangeβ but make it test suite π
π₯ SOURCE π₯
The source code repository for Test2-Suite can be found at https://github.com/Test-More/test-more/ π¦
π MAINTAINERS π
Chad Granum <exodist@cpan.org>
π AUTHORS π
Chad Granum <exodist@cpan.org>
π COPYRIGHT π
Copyright Chad Granum <exodist@cpan.org>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See http://dev.perl.org/licenses/ π
And thatβs the whole page, bestie β cute little sign-off from perl v5.42.3, dated 2026-11-03, with the footer label Test2::...s::Class(3pm) π
β¨
π¦ where this page comes from
- alpine 3.24: perl-doc 5.42.3-r0 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms