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

- NAME
- DESCRIPTION
- SYNOPSIS
- PLUGINS
- TOOLS
- KEY DIFFERENCES FROM Test::More
  - THESE FUNCTIONS AND VARIABLES HAVE BEEN REMOVED
- SOURCE
- MAINTAINERS
- AUTHORS
- COPYRIGHT

# NAME

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. See "KEY DIFFERENCES FROM Test::More" for details.

# SYNOPSIS

    use Test2::Bundle::More;

    ok(1, "pass");

    ...

    done_testing;

# PLUGINS

This loads Test2::Plugin::ExitSummary.

# TOOLS

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 { ... }

# KEY DIFFERENCES FROM Test::More

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, ...);

## 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. (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.

# SOURCE

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

# MAINTAINERS

Chad Granum <exodist@cpan.org>

# AUTHORS

Chad Granum <exodist@cpan.org>

# COPYRIGHT

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/

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