Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^2: Test::Exception extension with (evil?) overloading

by adrianh (Chancellor)
on Jan 18, 2003 at 17:45 UTC ( #228003=note: print w/ replies, xml ) Need Help??


in reply to Re: Test::Exception extension with (evil?) overloading
in thread Test::Exception extension with (evil?) overloading

is eval { $o->answer }, 42, 'answer returned 42'

I've used this on occasion, but I've three issues with the idiom. First, when undef is a legal return value it's of no use. Second, you don't get to see the error message on failure. Third, you can't tell the difference between failure due to an exception and failure due to returning undef.

is do { lives_ok {$o->answer} 'answer worked' }, 42, 'answer returned 42';

We're back to two tests - and it doesn't work :-)

... but only because I lied in my example... bad adrian...

lives_ok returns a boolean, not the result of the coderef. This is usual for test subroutines so that you can use the do_some_test(...) || diag(some message) idiom.


Comment on Re^2: Test::Exception extension with (evil?) overloading
Select or Download Code
Re^3: Test::Exception extension with (evil?) overloading
by Aristotle (Chancellor) on Jan 18, 2003 at 17:52 UTC
    Then what was the following code you posted supposed to do anyway?
    my $result = lives_ok {$o->answer} 'answer worked'; is $result, 42, 'answer returned 42';
    Because the second snippet I posted behaves exactly like that.

    Makeshifts last the longest.

      Then what was the following code you posted supposed to do anyway?

      I guess it was intended to prove what an idiot I am when I don't run my code examples. Excuse me while I go bang my head against the wall (and then fix the example :-).

      <bang, bang, bang ... >

      Ah, that's better. Example should read:

      my $result; lives_ok {$result = $o->answer} 'answer worked'; is $result, 42, 'answer returned 42';

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://228003]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (13)
As of 2014-09-17 17:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (92 votes), past polls