Here are some examples on how to test for error messages using CPAN modules.
Check that code does or does not die (with a specific error message):
use Test::Exception; dies_ok { testsub("die") } "Dies on inappropriate input"; throws_ok { testsub("die screaming") } qr/arrrgh/, "Dies with appropri +ate error message"; lives_ok { testsub("survive") } "Survives with appropriate input";
Check that a warning is or is not given:
use Test::Warn; warning_is { testsub("complain") } qr/nag/, "Gives a specific warning" +; warning_is { testsub("quiet") undef, "No warnings given";
Check that none of the tests you run emit a warning:
use Test::NoWarnings;
For this last one you'll have to add 1 to the number of tests you run (in your Test::More plan), which will then pass whether any of the tests in this file emitted a warning.
See the perldoc for each of these modules for further examples and documentation.
In reply to Re: Testing my carping
by tirwhan
in thread Testing my carping
by nefigah
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |