你如何测试 Python 函数是否抛出异常?
问题描述:
如何编写一个只有在函数没有抛出预期异常时才会失败的单元测试?
How does one write a unittest that fails only if a function doesn't throw an expected exception?
答
使用 TestCase.assertRaises
(或 TestCase.failUnlessRaises
)来自 unittest 模块,例如:
Use TestCase.assertRaises
(or TestCase.failUnlessRaises
) from the unittest module, for example:
import mymod
class MyTestCase(unittest.TestCase):
def test1(self):
self.assertRaises(SomeCoolException, mymod.myfunc)