A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2011-September/113717.html below:

[Python-Dev] unittest missing assertNotRaises

[Python-Dev] unittest missing assertNotRaisesSteven D'Aprano steve at pearwood.info
Wed Sep 28 01:43:13 CEST 2011
Oleg Broytman wrote:
> On Tue, Sep 27, 2011 at 07:46:52PM +0100, Wilfred Hughes wrote:
>> +    def assertNotRaises(self, excClass, callableObj=None, *args, **kwargs):
>> +        """Fail if an exception of class excClass is thrown by
>> +        callableObj when invoked with arguments args and keyword
>> +        arguments kwargs.
>> +        
>> +        """
>> +        try:
>> +            callableObj(*args, **kwargs)
>> +        except excClass:
>> +            raise self.failureException("%s was raised" % excClass)
>> +            
>> +
> 
>    What if I want to assert my test raises neither OSError nor IOError?

Passing (OSError, IOError) as excClass should do it.


But I can't see this being a useful test. As written, exceptions are 
still treated as errors, except for excClass, which is treated as a test 
failure. I can't see the use-case for that. assertRaises is useful:

"IOError is allowed, but any other exception is a bug."

makes perfect sense. assertNotRaises doesn't seem sensible or useful to me:

"IOError is a failed test, but any other exception is a bug."

What's the point? When would you use that?



-- 
Steven
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4