Isn't it Pythonic?
·1 min
I really should be over this by now.
Here’s how you test exceptions in Python 2.7 and later:
:::python
with self.assertRaises(SomeException) as cm:
do_something()
the_exception = cm.exception
self.assertEqual(the_exception.error_code, 3)
(as recommended in the unittest documentation)
Here’s how you test exceptions in earlier Pythons, using libraries like testtools.
:::python
the_exception = self.assertRaises(SomeException, do_something)
self.assertEqual(the_exception.error_code, 3)
I still like the second way. It’s simpler, uses less code, and doesn’t rely on new syntax. I’m sorry it didn’t work out that way.
I guess this is how Barry feels about the diamond operator.