unittest: assertRaises() with an instance instead of a type

Ethan Furman ethan at stoneleaf.us
Thu Mar 29 11:35:16 EDT 2012


Steven D'Aprano wrote:
> On 2012年3月28日 14:28:08 +0200, Ulrich Eckhardt wrote:
>>> Hi!
>>>> I'm currently writing some tests for the error handling of some code. In
>> this scenario, I must make sure that both the correct exception is
>> raised and that the contained error code is correct:
>>>>>> try:
>> foo()
>> self.fail('exception not raised')
>> catch MyException as e:
>> self.assertEqual(e.errorcode, SOME_FOO_ERROR)
>> catch Exception:
>> self.fail('unexpected exception raised')
>> Secondly, that is not the right way to do this unit test. You are testing 
> two distinct things, so you should write it as two separate tests:

I have to disagree -- I do not see the advantage of writing a second 
test that *will* fail if the first test fails as opposed to bundling 
both tests together, and having one failure.
~Ethan~


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /