我有一个Python 2.7方法,有时会调用

sys.exit(1)
当满足正确的条件时,是否可以进行单元测试以验证是否调用了此代码行?

最佳答案

是的。 sys.exit引发SystemExit,因此您可以使用 assertRaises 进行检查:

with self.assertRaises(SystemExit):
    your_method()
SystemExit的实例具有设置为建议的退出状态的code属性,并且assertRaises返回的上下文管理器将捕获的异常实例作为exception,因此检查退出状态很容易:
with self.assertRaises(SystemExit) as cm:
    your_method()

self.assertEqual(cm.exception.code, 1)

sys.exit Documentation:

关于python - 单元测试是否可以断言方法调用sys.exit()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15672151/

10-11 22:25
查看更多