Test2::Bundle::More(3perl) Perl Programmers Reference Guide Test2::Bundle::More(3perl)

Test2::Bundle::More - ALMOST a drop-in replacement for Test::More.

This bundle is intended to be a (mostly) drop-in replacement for Test::More. See "KEY DIFFERENCES FROM Test::More" for details.

use Test2::Bundle::More;
ok(1, "pass");
...
done_testing;

This loads Test2::Plugin::ExitSummary.

These are from Test2::Tools::Basic. See Test2::Tools::Basic for details.

$todo = todo($why)

These are from Test2::Tools::ClassicCompare. See Test2::Tools::ClassicCompare for details.

These are from Test2::Tools::Class. See Test2::Tools::Class for details.

This is from Test2::Tools::Subtest. It is called subtest_streamed() in that package.

THIS WILL NOT WORK:
use Test2::Bundle::More tests => 5;

Instead you must plan in a separate statement:

use Test2::Bundle::More;
plan 5;
Use plan($count), skip_all($reason), or done_testing() for your planning.
"isa_ok" in Test::More was:
isa_ok($thing, $isa, $alt_thing_name);

This was very inconsistent with tools like "can_ok($thing, @subs)".

In Test2::Bundle::More, isa_ok() takes a $thing and a list of @isa.

isa_ok($thing, $class1, $class2, ...);

$TODO
See todo().
These are not necessary. Use "use" and "require" directly. If there is an error loading the module the test will catch the error and fail.
Not necessary.
Discouraged in Test::More.
This started a fight between Test developers, who may now each write their own implementations in Test2. (See explain in Test::Most vs Test::More. Hint: Test::Most wrote it first, then Test::More added it, but broke compatibility).
Not necessary.

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

Copyright 2018 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/

2024-09-01 perl v5.40.0