From: Michael Foord Date: Fri, 5 Feb 2010 21:13:40 +0000 (+0000) Subject: Merged revisions 77999 via svnmerge from X-Git-Tag: v3.2a1~1736 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=41531f2e19eeb0803650e6a44576f0b5eafb2c2b;p=python Merged revisions 77999 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r77999 | michael.foord | 2010-02-05 21:07:38 +0000 (Fri, 05 Feb 2010) | 1 line Example of using assertRaises as a context manager in the unittest documentation. ........ --- diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst index 4adc1063ce..3f7680b5a5 100644 --- a/Doc/library/unittest.rst +++ b/Doc/library/unittest.rst @@ -892,14 +892,20 @@ Test cases If only the *exception* argument is given, returns a context manager so that the code under test can be written inline rather than as a function:: - with self.failUnlessRaises(some_error_class): + with self.assertRaises(SomeException): do_something() The context manager will store the caught exception object in its :attr:`exc_value` attribute. This can be useful if the intention - is to perform additional checks on the exception raised. + is to perform additional checks on the exception raised:: - .. versionchanged:: 3.1 + with self.assertRaises(SomeException) as cm: + do_something() + + the_exception = cm.exc_value + self.assertEquals(the_exception.error_code, 3) + + .. versionchanged:: 3.1 Added the ability to use :meth:`assertRaises` as a context manager. .. deprecated:: 3.1