Why is mocking the LOG object useful/being used?

Testing functionality which depends on LOG triggers/calls imho is bad practice 
(and usually means something needs to be refactored).

LOG statements, and calls should be expected to move/be removed often so 
testing functionality in tests with them seems like the wrong approach.

My 2 cents.

From: Deepak Shetty <[email protected]<mailto:[email protected]>>
Reply-To: "OpenStack Development Mailing List (not for usage questions)" 
<[email protected]<mailto:[email protected]>>
Date: Tuesday, June 3, 2014 at 9:16 AM
To: "OpenStack Development Mailing List (not for usage questions)" 
<[email protected]<mailto:[email protected]>>
Subject: [openstack-dev] [Cinder] How to mock the LOG inside cinder driver

<deepakcs> Hi, whats the right way to mock the LOG variable inside the driver ? 
I am mocking mock.patch.object(glusterfs, 'LOG') as mock_logger
<deepakcs> and then doing...
<deepakcs> mock_logger.warning.assert_called_once() - which passes and is 
expected to pass per my code
<deepakcs> but
<deepakcs> mock_logger.debug.assert_called_once() - shud fail , but this also 
passes !
<deepakcs> any idea why ?

I feel that I am not mocking the LOG inside the driver correctly.

I also tried
           mock.patch.object(glusterfs.LOG, 'warning'),
            mock.patch.object(glusterfs.LOG, 'debug')
as mock_logger_warn and mock_logger_debug respectively

But here too
.debug and .warning both passes.. while the expected result is for .warning to 
pass and .debug to fail

So somehow I am unable to mock LOG properly

thanx,
deepak
_______________________________________________
OpenStack-dev mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to