Synopsis
use strict;
use warnings;
use Test::More;
use Test::TypeTiny;
use Types::Mine qw(Integer Number);
should_pass(1, Integer);
should_pass(-1, Integer);
should_pass(0, Integer);
should_fail(2.5, Integer);
ok_subtype(Number, Integer);
done_testing;
Status
This module is covered by the Type-Tiny stability policy .
Description
Test::TypeTiny provides a few handy functions for testing type constraints.
Functions
-
should_pass($value, $type, $test_name)
-
should_pass($value, $type)
-
Test that passes iff
$value
passes$type->check
. -
should_fail($value, $type, $test_name)
-
should_fail($value, $type)
-
Test that passes iff
$value
fails$type->check
. -
ok_subtype($type, @subtypes)
-
Test that passes iff all
@subtypes
are subtypes of$type
. -
EXTENDED_TESTING
-
Exportable boolean constant.
-
matchfor(@things)
-
Assistant for matching exceptions. Not exported by default. See also Test::Fatal::matchfor .
Environment
If the
EXTENDED_TESTING
environment variable is set to true, this module will promote each
should_pass
or
should_fail
test into a subtest block and test the type constraint in both an inlined and non-inlined manner.
This variable must be set at compile time (i.e. before this module is loaded).
See Also
For an alternative to
should_pass
, see
Test::Deep::Type
which will happily accept a Type::Tiny type constraint instead of a MooseX::Types one.