diff options
author | Thomas Hervé <thomas@canonical.com> | 2008-11-19 16:16:49 +0100 |
---|---|---|
committer | Thomas Hervé <thomas@canonical.com> | 2008-11-19 16:16:49 +0100 |
commit | a94098f9400c9b67b5d281dc90bdc51569a7a79a (patch) | |
tree | 14c0f1eff20bb7dba3f97e6c38636cad414175dd /mocker.py | |
parent | 8a4227cfcc32fed041462ebf6031d722bb0c39a1 (diff) | |
download | mocker-a94098f9400c9b67b5d281dc90bdc51569a7a79a.tar.gz |
Return exception in failUnlessRaises, test it.
Diffstat (limited to 'mocker.py')
-rw-r--r-- | mocker.py | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -293,6 +293,27 @@ 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: + if hasattr(excClass, "__name__"): + excName = excClass.__name__ + else: + excName = str(excClass) + raise self.failureException( + "%s not raised (%r returned)" % (excName, result)) + assertIs = failUnlessIs assertIsNot = failIfIs @@ -305,6 +326,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 |