Skip to content
/ Test-Lives Public

decorate tests with a no-exceptions assertion

Notifications You must be signed in to change notification settings

ap/Test-Lives

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME

Test::Lives - decorate tests with a no-exceptions assertion

SYNOPSIS

use Test::More;
use Test::Lives;

use System::Under::Test 'might_die';

lives_and { is might_die, 'correct', $_ } 'system under test is correct';

DESCRIPTION

This module provides only one function, lives_and, which works almost exactly like the function of the same name in Test::Exception. That is, it allows you to test things that could (but shouldn't) throw an exception without having to have two separate tests with two separate results (and two separate descriptions).

You pass it a block of code to run (which should contain one test assertion) and a test description to give the assertion inside the block.

The description will be available inside the block in the $_ variable. (This is different from Test::Exception, which employs hacky magic to relieve you of having to pass the description to the decorated assertion.)

If the block ends up throwing an exception, a test failure will be logged.