Test::Mini::Assertions - Basic Assertions for Test::Mini
assert($test, $msg)
Asserts that $test is truthy, and throws a Test::Mini::Exception::Assert if that assertion fails.
$test
Examples:
assert 1; assert 'true', 'Truth should shine clear';
Parameters:
$test -- The value to test.
(String) $msg -- An optional description.
$msg
assert_block($block, $msg) Deprecated. This assertion offers little advantage over the base L<<<< S<<<<< #assert >>>>>|Test::Mini::Assertions/assert >>>>. This will be removed in v2.0.0.
Asserts that the given code reference returns a truthy value.
assert_block { 'true' }; assert_block \&some_sub, 'expected better from &some_sub';
(CODE) $block -- The code reference to test.
$block
assert_can($obj, $method, $msg)
Verifies that the given $obj is capable of responding to the given $method name.
$obj
$method
assert_can $date, 'day_of_week'; assert_can $time, 'seconds', '$time cannot respond to #seconds';
$obj -- The object being tested.
(String) $method -- The method name being checked for.
assert_contains($collection, $obj, $msg)
Verifies that the given $collection contains the given $obj as a member.
$collection
assert_contains [qw/ 1 2 3 /], 2; assert_contains { a => 'b' }, 'a'; # 'b' also contained assert_contains 'expectorate', 'xp'; assert_contains Collection->new(1, 2, 3), 2; # if Collection->contains(2)
(Array|Hash|String|#contains) $collection -- The collection to test.
$obj -- The needle to find.
assert_defined($obj, $msg)
Validates that the given $obj is defined.
assert_defined $value; # if defined $value
$obj -- The value to check.
assert_dies($sub, $error, $msg)
Tests that the supplied code block dies, and fails if it succeeds. If $error is provided, the error message in $@ must contain it.
$error
$@
assert_dies { die 'LAGHLAGHLAGHL' }; assert_dies { die 'Failure on line 27 in Foo.pm' } 'line 27';
(CODE) $sub -- The code that should die.
$sub
(String) $error -- The (optional) error substring expected.
assert_empty($collection, $msg)
Verifies the emptiness of a collection.
assert_empty []; assert_empty {}; assert_empty ''; assert_empty Collection->new(); # if Collection->new()->is_empty()
(Array|Hash|String|#is_empty) $collection -- The collection under scrutiny.
assert_equal($actual, $expected, $msg)
Checks two given arguments for equality.
assert_equal 3.000, 3; assert_equal lc('FOO'), 'foo'; assert_equal [qw/ 1 2 3 /], [ 1, 2, 3 ]; assert_equal { a => 'eh' }, { a => 'eh' }; assert_equal Class->new(), $expected; # if $expected->equals(Class->new())
$actual -- The value under test.
$actual
$expected -- The expected value.
$expected
assert_in_delta($actual, $expected, $delta, $msg)
Checks that the difference between $actual and $expected is less than $delta.
$delta
assert_in_delta 1.001, 1; assert_in_delta 104, 100, 5;
(Number) $actual -- The tested value.
(Number) $expected -- The static value.
(Number) $delta -- The expected delta. Defaults to 0.001.
assert_in_epsilon($actual, $expected, $epsilon, $msg)
Checks that the difference between $actual and $expected is less than a given fraction of the smaller of the two numbers.
assert_in_epsilon 22.0 / 7.0, Math::Trig::pi; assert_in_epsilon 220, 200, 0.10
(Number) $epsilon -- The expected tolerance factor. Defaults to 0.001.
$epsilon
assert_instance_of($obj, $type, $msg)
Validates that the given object is an instance of $type.
$type
assert_instance_of MyApp::Person->new(), 'MyApp::Person';
$obj -- The instance to check.
(Class) $type -- The type to expect.
See Also:
#assert_is_a
assert_is_a($obj, $type, $msg)
Validates that $obj inherits from $type.
assert_is_a 'Employee', 'Employee'; assert_is_a Employee->new(), 'Employee'; assert_is_a 'Employee', 'Person'; # assuming Employee->isa('Person') assert_is_a Employee->new(), 'Person';
$obj -- The instance or class to check.
(Class) $type -- The expected superclass.
assert_match($string, $pattern, $msg)
Validates that the given $string matches the given $pattern.
$string
$pattern
assert_match 'Four score and seven years ago...', qr/score/;
(String) $string -- The string to match.
(Regex) $pattern -- The regular expression to match against.
assert_undef($obj, $msg)
Validates that the given $obj is undefined.
assert_undef $value; # if not defined $value
flunk($msg)
Causes the current test to exit immediately with a failing status.
refute($test, $msg)
Asserts that $test is falsey, and throws a Test::Mini::Exception::Assert if that assertion fails.
refute 0; refute undef, 'Deny the untruths';
refute_block($block, $msg) Deprecated. This assertion offers little advantage over the base L<<<< S<<<<< #refute >>>>>|Test::Mini::Assertions/refute >>>>. This will be removed in v2.0.0.
Asserts that the given code reference returns a falsey value.
refute_block { '' }; refute_block \&some_sub, 'expected worse from &some_sub';
refute_can($obj, $method, $msg)
Verifies that the given $obj is not capable of responding to the given $method name.
refute_can $date, 'to_time'; refute_can $time, 'day', '$time cannot respond to #day';
(String) $method -- The method name being checked.
refute_contains($collection, $obj, $msg)
Verifies that the given $collection does not contain the given $obj as a member.
refute_contains [qw/ 1 2 3 /], 5; refute_contains { a => 'b' }, 'x'; refute_contains 'expectorate', 'spec'; refute_contains Collection->new(1, 2, 3), 5; # unless Collection->contains(5)
$obj -- The needle to look for.
refute_empty($collection, $msg)
Verifies the non-emptiness of a collection.
refute_empty [ 1 ]; refute_empty { a => 1 }; refute_empty 'full'; refute_empty Collection->new(); # unless Collection->new()->is_empty()
refute_equal($actual, $unexpected, $msg)
Checks two given arguments for inequality.
refute_equal 3.001, 3; refute_equal lc('FOOL'), 'foo'; refute_equal [qw/ 1 23 /], [ 1, 2, 3 ]; refute_equal { a => 'ae' }, { a => 'eh' }; refute_equal Class->new(), $expected; # unless $expected->equals(Class->new())
$expected -- The tested value.
refute_in_delta($actual, $expected, $delta, $msg)
Checks that the difference between $actual and $expected is greater than $delta.
refute_in_delta 1.002, 1; refute_in_delta 106, 100, 5;
(Number) $delta -- The delta $actual and $expected are expected to differ by. Defaults to 0.001.
refute_in_epsilon($actual, $expected, $epsilon, $msg)
Checks that the difference between $actual and $expected is greater than a given fraction of the smaller of the two numbers.
refute_in_epsilon 21.0 / 7.0, Math::Trig::pi; refute_in_epsilon 220, 200, 0.20
(Number) $epsilon -- The factor by which $actual and $expected are expected to differ by. Defaults to 0.001.
refute_match($string, $pattern, $msg)
Validates that the given $string does not match the given $pattern.
refute_match 'Four score and seven years ago...', qr/score/;
skip($msg)
Allows the current test to be bypassed with an indeterminate status.
import($class)
Pulls all of the test-related methods into the calling package.
To install Test::Mini, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Test::Mini
CPAN shell
perl -MCPAN -e shell install Test::Mini
For more information on module installation, please visit the detailed CPAN module installation guide.