in reply to Testing my carping
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.
|
|---|