我正在使用unittest
。
如果我在测试用例中的测试失败,我喜欢做某事(例如,将错误的输出保存到临时文件夹以供以后查看,等等)。
此代码属于哪里?
起初,我以为我可以检查if self.assertEqual(...)
,但事实证明这个函数没有返回任何值。它现在有意义,因为它一旦检测到故障就会将执行从测试功能中拉出来。
tearDown
,因此它似乎也无济于事。
答案 0 :(得分:2)
一种方法是在测试用例实例上设置一个标志,然后在拆除时检查其值:
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。