python unittest 运行器处理所有异常。我想用我的调试器捕捉它们。
有没有办法让我的 unittest 运行器重新引发测试异常以终止进程?我想自己处理它们。
编辑:找到解决方案。
你可以创建一个 unittest.TestSuite 并调用debug()来运行你想要调试的测试——包括用你的调试器捕获异常!
使用这种模式可以轻松完成:
import unittest
class DebuggableTestCase(unittest.TestCase):
@classmethod
def debugTestCase(cls):
loader = unittest.defaultTestLoader
testSuite = loader.loadTestsFromTestCase(cls)
testSuite.debug()
class MyTestCase(DebuggableTestCase):
def test_function_that_fails(self):
raise Exception('test')
if __name__ == '__main__':
MyTestCase.debugTestCase()