diff options
author | Gustavo Niemeyer <gustavo@niemeyer.net> | 2010-06-20 19:49:46 -0300 |
---|---|---|
committer | Gustavo Niemeyer <gustavo@niemeyer.net> | 2010-06-20 19:49:46 -0300 |
commit | 89bcdecfe4e13112a793afc261274bac375c8638 (patch) | |
tree | 4f09546a877eab661b30d092082a4b7efc12942f /mocker.py | |
parent | 3a4c487d0d08f51dca83e31f35aae5ecb3affb82 (diff) | |
parent | a94098f9400c9b67b5d281dc90bdc51569a7a79a (diff) | |
download | mocker-89bcdecfe4e13112a793afc261274bac375c8638.tar.gz |
MockerTestCase.assertRaises() will now return the exception raised,
allowing further inspection of the raised exception (implemented by
Thomas Hervé) (#299930).
Diffstat (limited to 'mocker.py')
-rw-r--r-- | mocker.py | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -347,6 +347,26 @@ class MockerTestCase(unittest.TestCase): (first.__name__, name, first_formatted, second.__name__, name, second_formatted)) + def failUnlessRaises(self, excClass, callableObj, *args, **kwargs): + """ + Fail unless an exception of class excClass is thrown by callableObj + when invoked with arguments args and keyword arguments kwargs. If a + different type of exception is thrown, it will not be caught, and the + test case will be deemed to have suffered an error, exactly as for an + unexpected exception. It returns the exception instance if it matches + the given exception class. + """ + try: + result = callableObj(*args, **kwargs) + except excClass, e: + return e + else: + excName = excClass + if hasattr(excClass, "__name__"): + excName = excClass.__name__ + raise self.failureException( + "%s not raised (%r returned)" % (excName, result)) + assertIs = failUnlessIs assertIsNot = failIfIs @@ -359,6 +379,7 @@ class MockerTestCase(unittest.TestCase): assertApproximates = failUnlessApproximates assertNotApproximates = failIfApproximates assertMethodsMatch = failUnlessMethodsMatch + assertRaises = failUnlessRaises # The following are missing in Python < 2.4. assertTrue = unittest.TestCase.failUnless |