你如何测试 Python 函数是否抛出异常?

你如何测试 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)