单元测试断言失败时运行代码

自由鸟

我正在使用assertEquals()from unittest.TestCase我现在想做的是调用一个函数,并在断言失败时在其中执行某项操作,我想知道是否有这样做的方法吗?

BartoszKP

通常,您不应该这样做,但是如果您确实想要这样做,下面是一个简单的示例:

import unittest

def testFailed():
    print("test failed")

class T(unittest.TestCase):
    def test_x(self):
        try:
            self.assertTrue(False)
        except AssertionError:
            testFailed()
            raise

if __name__ == "__main__":
    suite = unittest.defaultTestLoader.loadTestsFromTestCase(T)
    unittest.TextTestRunner().run(suite)

另一个更通用的可能性是编写您自己的runTest方法(如本文档所述),该方法将使用try/except包装所有测试如果您确实需要这样做,则将更推荐这样做,因为这将使您的测试代码保持整洁。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章