我使用 Python 的 unitest, < a href="https://github.com/danielfm/unitest-xml- reporting" rel=“nofollow”>unitst-xml- reporting 。 它目前捕捉 stdout 并将其存储在 xml 输出文件中 。 真棒! 但是, 我也想在屏幕上回录它, 这样我不必每次运行测试套件时都查看该文件。 所涉及的两个主要功能是 :
def _patch_standard_output(self):
"""Replace the stdout and stderr streams with string-based streams
in order to capture the tests output.
"""
(self.old_stdout, self.old_stderr) = (sys.stdout, sys.stderr)
(sys.stdout, sys.stderr) = (self.stdout, self.stderr) =
(StringIO(), StringIO())
def _restore_standard_output(self):
"Restore the stdout and stderr streams."
(sys.stdout, sys.stderr) = (self.old_stdout, self.old_stderr)
我试图删除
(sys.stdout, sys.stderr) = (self.stdout, self.stderr) = (StringIO(), StringIO())
替换为
(self.stdout, self.stderr) = (StringIO(), StringIO())
但它没有将它添加到 xml 文件 。 感谢任何帮助 。 我很乐意提交一个拉动请求, 当它工作的时候!