我正在使用unittest
。
如果测试用例中的测试失败,我喜欢做一些事情(例如,将错误的输出保存到临时文件夹以供以后查看等)。
这段代码属于哪里?
起初,我以为我可以检查if self.assertEqual(...)
,但事实证明这个函数没有返回任何值。现在它是有意义的,因为它的目的是一旦检测到故障就将测试函数的执行踢出。
tearDown
,因此它似乎也没有帮助。
最佳答案
一种方法是在测试用例实例上设置一个标志,然后在拆卸时检查其值:
def setUp(self):
self.test_passed = false
def tearDown(self):
if not self.test_passed:
log()
def test_something(self):
self.assertEquals(something())
self.test_passed = true
您可以编写一个装饰器,以避免在每次测试结束时将标志设置为 true。
关于python - 每当单元测试失败时执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12367299/