assertRaises as context manager now allows you to access exception as documented

This commit is contained in:
Michael Foord 2010-02-07 18:44:12 +00:00
parent a4f46e1292
commit 2bd52dcccb
2 changed files with 8 additions and 3 deletions

View File

@ -3059,8 +3059,13 @@ class Test_Assertions(TestCase):
pass
else:
self.fail("assertRaises() didn't let exception pass through")
with self.assertRaises(KeyError):
raise KeyError
with self.assertRaises(KeyError) as cm:
try:
raise KeyError
except Exception, e:
raise
self.assertIs(cm.exception, e)
with self.assertRaises(KeyError):
raise KeyError("key")
try:

View File

@ -91,7 +91,7 @@ class _AssertRaisesContext(object):
self.expected_regexp = expected_regexp
def __enter__(self):
pass
return self
def __exit__(self, exc_type, exc_value, tb):
if exc_type is None: