This is an alpha release of Test::More available on CPAN and from its repository. http://github.com/schwern/test-more/tree/v0.89_01
subtest() --------- Small change log, big feature. This version adds subtest(), implemented by Ovid. This allows you to run a bunch of tests with their own plan. use Test::More tests => 3; pass("First test"); subtest 'An example subtest' => sub { plan tests => 2; pass("This is a subtest"); pass("So is this"); }; pass("Third test"); This would produce. 1..3 ok 1 - First test 1..2 ok 1 - This is a subtest ok 2 - So is this ok 2 - An example subtest ok 3 - Third test Current TAP parsers (Test::Harness) will ignore the indented "nested TAP", but the result of the subtest() is itself encoded as a test ("ok 2" above) so current TAP parsers can still see if the subtest passes or fails. Future TAP parsers may parse nested TAP. Its not part of the standard (such as there is) but it is also not in violation. is_passing() ------------ As a side effect of this work, there is finally a way to tell if a test is currently passing. Test::Builder->is_passing(). Its really "have I failed yet", but if you don't think about it too hard is_passing() makes sense. The name is up in the air. failed_yet() is one idea which returns the number of tests which have failed (or violated the plan). 0.89_01 Tue Jun 23 15:13:16 EDT 2009 New Features * subtest() allows you to run more tests in their own plan. (Thanks Ovid!) * Test::Builder->is_passing() will let you check if the test is currently passing. Docs * Finally added a note about the "Wide character in print" warning and how to work around it. -- But there's no sense crying over every mistake. You just keep on trying till you run out of cake. -- Jonathan Coulton, "Still Alive"