prove
ユーティリティを使用して perl テストを実行すると、テスト対象のメソッドにprint
改行で終了していないステートメントが含まれていると失敗します。
use Test::More tests=>1;
ok(foo(), "calling foo");
sub foo{
print "A";
1;
}
これにより、
Bad plan. You planned 1 tests but ran 0.
改行を追加するとprint "A\n";
、テストに合格します。
perl mytest.t
(テストを使用するのではなく、単にテストを実行すると、prove
どちらの方法でも合格することに注意してください)。
これが考えられる理由と、それを回避する方法はありますか?