in reply to Re: Re: testing code
in thread testing code

I'm wondering why I should think about switching from Test::Simple to Test::More.

If you're doing anything non-trivial it will probably help.

What is it that gives Test::More its "Moreness" ?

It gives you more expressive ways to talk about your tests. So instead of saying:

ok ( $foo =~ /bar/, 'contains bar'); ok ( UNIVERSAL::isa($o, 'MyClass'), 'isa MyClass' ); ok( $foo eq 'bar', 'equals bar' );

you can say

like( $foo, qr/foo/, 'contains bar' ); isa_ok( $o, 'MyClass' ); is( $foo, 'bar', 'equals bar' );

which is marginally easier to comprehend. You also get more informative test failures, for example if you do:

is( 'apples', 'oranges', 'expecting to find some oranges' );

you'll get the informative

not ok 1 - expecting to find some oranges # Failed test (-e at line 1) # got: 'apples' # expected: 'oranges'

rather than just

not ok 1 - expecting to find some oranges

You'll find the same sort of advantages with other Test:: modules. You get to express you test more precisely and you get better feedback on test failures.