Python – How to test that a Python function throws an exception

exceptionexception-handlingpythonunit-testing

How does one write a unittest that fails only if a function doesn't throw an expected exception?

Best Solution

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)