当我使用prove-v终止一个垂死的Perl测试运行时,为什么结果没有通过STDOUT保存到文本文件中



我正在驾驶SeleniumRC,一个页面挂起,所以我点击Ctrl-C停止测试并解决这个问题。如果我通过命令行传递一个txt文件,如下所示:

prove -v some.t :: data.csv > testresults.txt

我要么一无所获,要么在文本文件中显示"终止批处理作业(Y/N)?"。请注意,如果我没有通过命令行传递输出文件,结果会按预期滚动。

prove是否有通过stdout写入非-v文件的选项?

当我将任何形式的$| = 1;添加到prove.pmsome.t时,此问题仍然存在。有什么东西在证明或测试中::线束覆盖了我的自动冲洗设置吗?

我也尝试过这种变体:prove -v some.t > testresults.txt :: data.csv

听起来像是缓冲问题。输出是缓冲的(当不发送到终端时),当使用Ctrl-C填充应用程序时,这些缓冲区不会被刷新。

如果输出来自Perl脚本,请尝试将$| = 1;添加到其中。

最新更新