当我使用该实用程序运行 perl 测试时prove
,如果被测方法包含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
它通过任何一种方式)。
任何想法为什么会这样,以及如何解决它?