テストを実行するとこれが表示されますが、どちらのテストもOKです。私はこれがまったく好きではありません。警告をエラーにするにはどうすればよいですか?Perlテスト - コンパイルの警告が表示されても、すべてが正常であることを頑強に示しています。
1..2
Allowing a native trait to automatically supply a default is deprecated. You can avoid this warning by supplying a default, builder, or making the attribute required at UserInfo.pm line 7
require UserInfo.pm called at (eval 4) line 2
main::BEGIN() called at UserInfo.pm line 0
eval {...} called at UserInfo.pm line 0
eval 'package main;
use UserInfo @{$args[0]};
1;
;' called at /packages/run.64/perl-5.14.1/lib/5.14.1/Test/More.pm line 885
Test::More::_eval('package main;\x{a}use UserInfo @{$args[0]};\x{a}1;\x{a}', 'ARRAY(0x16fa110)') called at /packages/run.64/perl-5.14.1/lib/5.14.1/Test/More.pm line 860
Test::More::use_ok('UserInfo') called at UserInfo.t line 7
ok 1 - use UserInfo;
ok 2 - require UserInfo;
'警告を使用するFATAL =>" all ";'で十分ではありません。 –
@Let_Me_Be: 'eval'はここで例外をブロックしているに違いありません。私はこれを回避する良い方法を知らない。おそらく 'my @warn; $ SIG {__ WARN__} =サブ{プッシュ@ワーン、シフト; }; 'そして' ok(!@warn) 'を実行します。しかし、これはモジュールでオーバーライドすることができます。 – Dallaylaen