[Pdx-pm] Testing question
benh
ben.hengst at gmail.com
Wed Jan 18 10:50:58 PST 2012
Another option is to not boil everything down to a single string to do
the test. Like Leto said, if you use Test::Differences (included when
you use Test::Most) then you'll have access to eq_or_diff that gives
you Data::Dumper-ish output for data structures when they fail. In the
example below take a look at the output (post __END__) and look at the
last row, note that it's flagged with '*' and you can see what's the
same and what's not.
#!/usr/bin/env perl
use strict;
use warnings;
use Test::Most qw{no_plan};
eq_or_diff
[ qw{test08 test09 test10 test11 test13} ], # NOTE 13 rather then 12
to cause failure
[ map{sprintf q{test%02d}, $_} 8..12 ],
q{well do they match?}
;
__END__
not ok 1 - well do they match?
# Failed test 'well do they match?'
# at tom.t line 8.
# +----+----------+----------+
# | Elt|Got |Expected |
# +----+----------+----------+
# | 0|'test08' |'test08' |
# | 1|'test09' |'test09' |
# | 2|'test10' |'test10' |
# | 3|'test11' |'test11' |
# * 4|'test13' |'test12' *
# +----+----------+----------+
1..1
# Looks like you failed 1 test of 1.
2012/1/18 Andy Lester <andy at petdance.com>:
>
> On Jan 18, 2012, at 9:53 AM, Jonathan Duke Leto wrote:
>
> is($x eq $y, 'blarg')
>
> this is better:
>
> cmp_ok($x, 'eq', $y, 'blarg')
>
> because you will get better error reporting from cmp_ok. It knows that
> you are using 'eq', so it can say "hey, $x != $y", whereas the first
> test will just say "this thing isn't true", which isn't nearly as
> useful.
>
>
> ok( $x eq $y, 'blarg' ) isn't informative.
>
> is( $x, $y, 'blarg' ) tells you what's different.
>
> cmp_ok( $x, 'eq', $y, 'blarg' ) is no more informative than the is() call.
> cmp_ok should be used only if you want to compare using something other
> than 'eq'.
>
> xoa
>
>
> --
> Andy Lester => andy at petdance.com => www.petdance.com => AIM:petdance
>
>
> _______________________________________________
> Pdx-pm-list mailing list
> Pdx-pm-list at pm.org
> http://mail.pm.org/mailman/listinfo/pdx-pm-list
--
benh~
http://about.notbenh.info
More information about the Pdx-pm-list
mailing list