繁体   English   中英

如何将nosetests的输出重定向到文本文件?

[英]how do i redirect the output of nosetests to a textfile?

我尝试过“nosetests p1.py> text.txt”并且它无法正常工作。

管道此控制台输出的正确方法是什么?

尝试:

nosetests -s p1.py > text.txt 2>&1

最后 - 显然 - 提示:如果您不在测试文件目录中,请在.py文件之前添加。

我想在这里添加更多细节。

在我的版本(v1.3.7)上,Nose正在登录stderr而不是预期的stdout 为什么鼻子登录stderr而不是stdout超出我的范围。 因此,解决方案是将stderr流重定向到您的文件。 重定向字符默认发送stdout --nocapture, -s标志用于阻止鼻子捕获您自己的print语句。

$ nosetests -s -v test/ > stdout.log 2> stderr.log

有一点需要注意,就是虽然stderr ,似乎在每个输出端被刷新, stdout没有得到刷新,所以如果你是tail荷兰国际集团的stdout.log文件,你不会看到输出,直到鼻子或OS决定冲洗。 因此,如果您认为它不起作用,请尝试退出测试运行器,这将导致stdout刷新。

有关重定向linux流的信息,请参阅此答案。

参数-s - 不捕获标准输出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM