NAME

Test::Power - With great power, comes great responsibility.

SYNOPSIS

use Test::Power;

sub foo { 4 }
expect { foo() == 3 };
expect { foo() == 4 };

Output:

not ok 1 - L12 : expect { foo() == 3 };
#   Failed test 'L12 : ok { foo() == 3 };'
#   at foo.pl line 12.
# foo()
#    => 4
ok 2 - L13 : expect { foo() == 4 };
1..2
# Looks like you failed 1 test of 2.

DESCRIPTION

WARNINGS: This module is currently on ALPHA state. Any APIs will change without notice. Notice that since this module uses the B power, it may cause segmentation fault.

WARNINGS AGAIN: Current version of Test::Power does not support ithreads.

Test::Power is yet another testing framework.

Test::Power shows progress data if it fails. For example, here is a testing script using Test::Power. This test may fail.

use Test::Power;

sub foo { 3 }
expect { foo() == 2 };
done_testing;

Output is:

not ok 1 - L6: expect { foo() == 2 };
# foo()
#    => 3
1..1

Woooooooh! It's pretty magical. Test::Power shows the calculation progress! You don't need to use different functions for different testing types, like ok, cmp_ok, is...

EXPORTABLE FUNCTIONS

expect(&code)
expect { $foo };

This simply runs the &code, and uses that to determine if the test succeeded or failed. A true expression passes, a false one fails. Very simple.

REQUIRED PERL VERSION

Perl5.14+ is required. 5.14+ provides better support for custom ops. B::Tap required this. Under 5.14, perl5 can't do B::Deparse.

Patches welcome to support 5.12, 5.10, 5.8.

LICENSE

Copyright (C) tokuhirom.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

tokuhirom <tokuhirom@gmail.com>

SEE ALSO

Test::More