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.
- ok($bool,
$name)
- pass($name)
- fail($name)
- skip($why,
$count)
- $todo = todo($why)
- diag($message)
- note($message)
- plan($count)
- skip_all($why)
- done_testing()
- BAIL_OUT($why)
These are from Test2::Tools::ClassicCompare. See
Test2::Tools::ClassicCompare for details.
- 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)
These are from Test2::Tools::Class. See Test2::Tools::Class for
details.
- isa_ok($thing,
@classes)
- can_ok($thing,
@subs)
This is from Test2::Tools::Subtest. It is called
subtest_streamed() in that package.
- subtest $name => sub
{ ... }
- 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
- Use plan($count),
skip_all($reason), or
done_testing() for your planning.
- isa_ok accepts different
arguments
- "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().
- use_ok()
- require_ok()
- 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.
- todo_skip()
- Not necessary.
- eq_array()
- eq_hash()
- eq_set()
- Discouraged in Test::More.
- explain()
- 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).
- new_ok()
- 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/