Мой код имеет тест на плохой вызов API, к счастью, этот код выдает предупреждение от самого модуля. Но когда я тестирую неудачный вызов API, я не хочу видеть предупреждение в TAP.
t/01-pass.t .............. ok
t/02-fail.t .............. ok
t/03-noversion.t ......... ok
t/04-no-file.t ........... ok
Use of uninitialized value $file in concatenation (.) or string at /home/xenoterracide/projects/Test-Version/lib/Test/Version.pm line 29.
t/05-file-not-defined.t .. ok
# unsorted oks: 001
t/06-all.t ............... ok
All tests successful.
Files=6, Tests=37, 1 wallclock secs ( 0.04 usr 0.02 sys + 0.35 cusr 0.04 csys = 0.45 CPU)
Result: PASS
Вот фактический код
#!/usr/bin/perl
use 5.006;
use strict;
use warnings;
use Test::Tester tests => 7;
use Test::Version qw( version_ok );
check_test(
sub {
version_ok; # correct call version_ok( $file )
},
{
ok => 0,
name => 'check version in ',
diag => 'FILE_NOT_DEFINED',
},
'$file not defined'
);
есть ли способ подавить предупреждение и предотвратить его попадание в TAP (за пределами no warnings
в исходном модуле) .