[TIP] mock and patch

Michael Foord michael at voidspace.org.uk
Thu Mar 22 07:48:36 PDT 2012


On 22/03/2012 14:46, Andrea Crotti wrote:
> On 03/22/2012 02:42 PM, Michael Foord wrote:
>>
>> The error is not from a mock, but from your actual walk function - 
>> which indicates that the patching is not in place. So it's likely 
>> that the patch is in the wrong place. It looks like you're patching 
>> the walk function in the walk module - but using it somewhere else. 
>> So changing your patch to "module_importing_and_using_walk.walk" 
>> instead should work.
>>
>> All the best,
>>
>> Michael
>>
>
> Actually I discovered a funny thing, I got this error by running
> nosetests -m regexp
>
> but running nosetest only I didn't, with exactly the same code.
>
> So if I can reproduce it it might be a small bug in nose, or is it 
> normal to get a different behaviour
> when running only one test??
>
Odd. That *sounds* like a bug in nose. One possibility is that the 
module path is different when running all the tests and a single test, 
so the patching is working when you run all tests and not when you run 
one. If you "print __name__" at the module level (where walk lives) 
you'll be able to see if they are different when you run the tests 
different ways.

Michael

-- 
http://www.voidspace.org.uk/

May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing http://www.sqlite.org/different.html




More information about the testing-in-python mailing list