Test2::Bundle::More - ALMOST a drop-in replacement for Test::More.
This bundle is intended to be a (mostly) drop-in replacement for
the Test::More manpage. See KEY DIFFERENCES FROM Test::More for details.
use Test2::Bundle::More;
ok(1, "pass");
...
done_testing;
This loads the Test2::Plugin::ExitSummary manpage.
These are from the Test2::Tools::Basic manpage. See the Test2::Tools::Basic manpage 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 the Test2::Tools::ClassicCompare manpage. See
the Test2::Tools::ClassicCompare manpage 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 the Test2::Tools::Class manpage. See the Test2::Tools::Class manpage for details.
- isa_ok($thing, @classes)
-
- can_ok($thing, @subs)
-
This is from the Test2::Tools::Subtest manpage. 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 the Test::Most manpage vs the Test::More manpage.
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/.
- Chad Granum
-
- Chad Granum <exodist@cpan.org>Chad Granum
-
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/
|