From 41531f2e19eeb0803650e6a44576f0b5eafb2c2b Mon Sep 17 00:00:00 2001 From: Michael Foord Date: Fri, 5 Feb 2010 21:13:40 +0000 Subject: [PATCH] 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. ........ --- Doc/library/unittest.rst | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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 -- 2.50.1