```{index} single: Test2::Bundle::More ``` # Test2::Bundle::More ALMOST a drop-in replacement for Test::More. ## DESCRIPTION This bundle is intended to be a (mostly) drop-in replacement for [Test::More](../../Test/More.md). See "KEY DIFFERENCES FROM Test::More" for details. ## SYNOPSIS ```perl use Test2::Bundle::More; ok(1, "pass"); ... done_testing; ``` ## PLUGINS This loads [Test2::Plugin::ExitSummary](../Plugin/ExitSummary.md). ## TOOLS These are from [Test2::Tools::Basic](../Tools/Basic.md). See [Test2::Tools::Basic](../Tools/Basic.md) 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](../Tools/ClassicCompare.md). See [Test2::Tools::ClassicCompare](../Tools/ClassicCompare.md) 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](../Tools/Class.md). See [Test2::Tools::Class](../Tools/Class.md) for details. - isa\_ok($thing, @classes) - can\_ok($thing, @subs) This is from [Test2::Tools::Subtest](../Tools/Subtest.md). It is called `subtest_streamed()` in that package. - subtest $name => sub { ... } ## KEY DIFFERENCES FROM Test::More - You cannot plan at import. THIS WILL **NOT** WORK: ```perl use Test2::Bundle::More tests => 5; ``` Instead you must plan in a separate statement: ```perl 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: ```perl 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`. ```perl isa_ok($thing, $class1, $class2, ...); ``` ### THESE FUNCTIONS AND VARIABLES HAVE BEEN REMOVED - $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](../../Test2.md). (See explain in [Test::Most](https://metacpan.org/pod/Test::Most) vs [Test::More](../../Test/More.md). Hint: Test::Most wrote it first, then Test::More added it, but broke compatibility). - new\_ok() Not necessary. ## SOURCE The source code repository for Test2-Suite can be found at `https://github.com/Test-More/test-more/`. ## MAINTAINERS - Chad Granum ## AUTHORS - Chad Granum ## COPYRIGHT Copyright Chad Granum . 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/`