- KEY DIFFERENCES FROM Test::More
Test2::Bundle::More - ALMOST a drop-in replacement for Test::More.
use Test2::Bundle::More; ok(1, "pass"); ... done_testing;
This loads Test2::Plugin::ExitSummary.
- ok($bool, $name)
- skip($why, $count)
- $todo = todo($why)
- is($got, $want, $name)
- isnt($got, $donotwant, $name)
- like($got, qr/match/, $name)
- unlike($got, qr/mismatch/, $name)
- is_deeply($got, $want, "Deep compare")
- cmp_ok($got, $op, $want, $name)
This is from Test2::Tools::Subtest. It is called
subtest_streamed() in that package.
- You cannot plan at import.
THIS WILL NOT WORK:
use Test2::Bundle::More tests => 5;
Instead you must plan in a separate statement:
use Test2::Bundle::More; plan 5;
- You have three subs imported for use in planning
done_testing()for your planning.
- isa_ok accepts different arguments
isa_okin Test::More was:
isa_ok($thing, $isa, $alt_thing_name);
This was very inconsistent with tools like
$thingand a list of
isa_ok($thing, $class1, $class2, ...);
These are not necessary. Use
requiredirectly. If there is an error loading the module the test will catch the error and fail.
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).
The source code repository for Test2-Suite can be found at https://github.com/Test-More/Test2-Suite/.
Copyright 2018 Chad Granum <firstname.lastname@example.org>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.