Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re^2: Error: Can't locate Test/Exception.pm in @INC (you may need to install the Test::Exception module) on CPANPLUS

by thanos1983 (Parson)
on Sep 27, 2017 at 09:20 UTC ( [id://1200180]=note: print w/replies, xml ) Need Help??


in reply to Re: Error: Can't locate Test/Exception.pm in @INC (you may need to install the Test::Exception module) on CPANPLUS
in thread Error: Can't locate Test/Exception.pm in @INC (you may need to install the Test::Exception module) on CPANPLUS

Hello haukex,

Thanks for the complete analysis and solution to my problem.

I kept looking online and I found also that most people also propose to use Test::Fatal I will give it a try. Thanks again on showing me how to include it on my Makefile.PL I completely forgot about that, since the last module that I wrote was almost 4 years ago.

On the mean time, I was experimenting and I also found a successful way of testing croak without the use of any secondary test module but with the use of Test::More/like (fellow monk toolic proposed this on Testing error handling that calls "die"), sample below:

$@ = '';
eval { hexDumperOutput('Test', '這是一個測試') };
like( $@, qr/Unknown encoding format 'Test'/,
      'Check encoding formats hexDumperOutput' );

Again thanks a lot for your time and effort, it helped me a lot.

Seeking for Perl wisdom...on the process of learning...not there...yet!
  • Comment on Re^2: Error: Can't locate Test/Exception.pm in @INC (you may need to install the Test::Exception module) on CPANPLUS
  • Download Code

Replies are listed 'Best First'.
Re^3: Error: Can't locate Test/Exception.pm in @INC ...
by haukex (Archbishop) on Sep 27, 2017 at 10:25 UTC
    like( $@, qr/Unknown encoding format 'Test'/,

    Yes, despite some long-standing issues with $@, since this code is explicitly checking for a specific value, that should work ok too, without any extra modules. Test::Fatal uses Try::Tiny internally, which works around some of the issues with $@. Three of my four CPAN modules use Test::Fatal extensively for testing with no problems across all of CPAN Testers.

Re^3: Error: Can't locate Test/Exception.pm in @INC ...
by haukex (Archbishop) on Oct 02, 2017 at 09:49 UTC
    testing croak without the use of any secondary test module

    I realized the other day that since all I was using from Test::Fatal was its exception function, I could successfully replace it with the following, with no changes to my tests necessary. However, this still theoretically suffers from the same problems I linked to earlier.

    sub exception (&) { return eval { shift->(); 1 } ? undef : ($@ || confess "\$@ was false"); }

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (2)
As of 2024-04-25 06:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found