NAME
Test::Builder2::Tester - Testing a Test:: module
SYNOPSIS
use Test::More;
use Your::Test::Module qw(this_ok that_ok);
use Test::Builder2::Tester;
my $capture = capture {
this_ok $this, "some name";
that_ok $that;
};
# The first one passed, and it has a name
result_like $capture->results->[0], {
is_pass => 1,
name => "some name",
};
# The second one failed, and it has no name
result_like $capture->results->[1], {
is_pass => 0,
name => ''
};
DESCRIPTION
This is a module for testing Test modules.
Exports
These are exported by default
capture
my $capture = capture { ...test code ... };
Captures all the events and results which happens inside the block.
Returns a Test::Builder2::Tester::Capture (which is largely a Test::Builder2::History) that you can reference later.
event_like
event_like( $event, $want );
event_like( $event, $want, $name );
Tests that a $result looks like what you $want.
$want is a hash ref of keys and values. Each of these will be checked against the $result's attributes. For example...
result_like( $result, { name => "foo" } );
will check that $result->name eq "foo"
.
Values can also be regular expressions.
result_like( $result, { name => qr/foo/ } );
will check that $result->name =~ /foo/
.
result_like
result_like( $result, $want );
result_like( $result, $want, $name );
Works just as event_like
but it also checks the $result is a result.