Test::NoWarnings is throwing a warning.
Which warning is that? Please show an SSCCE that reproduces the issue.
use warnings; use strict; use Test::More tests=>2; use Test::NoWarnings; use Test::Warn; sub Foo::get_member_id_by_name { warn "foo than bar" }; my $obj = bless {}, 'Foo'; warning_like ( sub { $obj->get_member_id_by_name('smith'); }, qr/than/, 'warns when more than one name returned' ); __END__ 1..2 ok 1 - warns when more than one name returned ok 2 - no warnings
By the way, here's the code I use to test warnings:
sub warns (&) { my $sub = shift; my @warns; { local $SIG{__WARN__} = sub { push @warns, shift }; $sub->() } return wantarray ? @warns : scalar @warns; } print "<$_>\n" for warns { warn "Hello"; warn "World" } __END__ <Hello at - line 8. > <World at - line 8. >
And I've learned it's not a good idea to expect a specific number of warnings, since different versions of Perl may issue different warnings. Just do my @warns = warns {...}; and then grep the array for the warning(s) you do or don't expect.
Update: Typo fix.
In reply to Re: Suppressing desired warnings from output of Test::NoWarnings
by haukex
in thread Suppressing desired warnings from output of Test::NoWarnings
by nysus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |