假设我有一个python工具来构建和运行unittest
,例如python3 build_and_test ...
。
有什么方法可以解析unittest
的stdout并生成xml(junit)报告?我已经参考过unittest-xml-reporting
,但似乎必须更改自己的build_and_test
代码,但我不能这样做。我如何才能解析unittest
的标准输出并创建xml报告?
答案 0 :(得分:0)
您需要执行2个步骤:
扩展unittest.TextTestRunner并覆盖_makeResult()。参见https://docs.python.org/3.4/library/unittest.html#unittest.TextTestRunner._makeResult
实施您自己的unittest.TestResult版本。参见https://docs.python.org/3.4/library/unittest.html#unittest.TestResult。您的代码将是发生各种事件的代码。示例:当出现测试错误时,将调用方法addError。参见https://docs.python.org/3.4/library/unittest.html#unittest.TestResult.addError
现在,您可以控制各种事件,并且可以创建XML报告。