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.
|
|---|