NAME

Test::Returns - Verify that a method's output agrees with its specification

SYNOPSIS

use Test::More;
use Test::Returns;

returns_ok(42, { type => 'integer' }, 'Returns valid integer');
returns_ok([], { type => 'arrayref' }, 'Returns valid arrayref');
returns_not_ok("bad", { type => 'arrayref' }, 'Fails (expected arrayref)');

DESCRIPTION

Exports the function returns_ok, which asserts that a value satisfies a schema as defined in Params::Validate::Strict. Integrates with Test::Builder for use alongside Test::Most and friends.

METHODS

returns_is($value, $schema, $test_name)

Passes if $value satisfies $schema using Return::Set. Fails otherwise.

returns_isnt

Opposite of returns_is

returns_ok($value, $schema, $test_name)

Alias for returns_is. Provided for naming symmetry and clarity.

returns_not_ok

Synonym of returns_isnt

AUTHOR

Nigel Horne <njh at nigelhorne.com>

SEE ALSO

Test::Builder, Returns::Set, Params::Validate::Strict

SUPPORT

This module is provided as-is without any warranty.

LICENCE AND COPYRIGHT

Copyright 2025 Nigel Horne.

Usage is subject to licence terms.

The licence terms of this software are as follows:

  • Personal single user, single computer use: GPL2

  • All other users (including Commercial, Charity, Educational, Government) must apply in writing for a licence for use from Nigel Horne at the above e-mail.