我很难理解如何更改类似于以下内容的单元测试报告:
======================================================================
FAIL: test_equal (__main__.InequalityTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "test_notequal.py", line 7, in test_equal
self.assertNotEqual(1, 3-2, "My Custom Message")
AssertionError: 1 == 1
报告类似:
Line 7: My Custom Message
我如何解析这些报告?
答案 0 :(得分:1)
经过进一步研究,我可以通过覆盖默认的TestResult类来解决我的问题,如下所示:Turn some print off in python unittest
或使用某些第三方自定义,例如nose,HTMLTestRunner.
答案 1 :(得分:0)
如果您需要根据单个测试用例的成功/失败创建自定义报告,您可以创建一个自定义 TestRunner,它使用自定义 TestResult,并在 TestResult 类中覆盖成功和失败方法。这将根据要求提供回调以进行处理。
class CustomTestRunner(TextTestRunner):
def _makeResult(self):
return CustomTestResult(TestResult)
def run(self, test) -> unittest.result.TestResult:
# add implementation as per TextTestRunner run method here
class CustomTestResult:
def addSuccess(self, test):
super(CustomTestResult, self).addSuccess(test)
# your logic to log success cases
def addFailure(self, test):
super(CustomTestResult, self).addFailure(test)
# your logic to log failure cases
作为参考,请查看 python unittest 模块。