在这里我有测试.py包含:
import sys
sys.stdout = open('log2.log', 'w')
class TestH5Client:
def test_something(self):
print("Start")
assert True
print("End")
def teardown_class(cls):
print("OK")
我用下面的shell命令运行我的测试
pytest tests.py::TestH5Client::test_something >>log.log
我想要这个日志.log包含测试运行的信息,log2.log包含所有打印,但log2.log为空
的内容日志.log(内容如我所料):
^{pr2}$log2.log的内容:文件为空
期望log2.log内容:
Start
End
OK
所以我的问题是我做错了什么,我如何才能让它这样工作,提前谢谢你。在
我想默认的选项是py.测试通过重写系统标准输出,取消要重写的代码系统标准输出. 在
我测试了三种似乎可以解决您问题的选项:
print = lambda x: open('log2.log', 'a').write(str(x)+"\n")
-s
选项添加到执行命令中。log.log
-文件蒙上阴影尽管3是最大的努力,取决于你想达到什么,我相信这是最好的解决办法。在
相关问题 更多 >
编程相关推荐