我正在使用assertEquals()
from unittest.TestCase
。我现在想做的是调用一个函数,并在断言失败时在其中执行某项操作,我想知道是否有这样做的方法吗?
通常,您不应该这样做,但是如果您确实想要这样做,下面是一个简单的示例:
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] 删除。
我来说两句