[TIP] fresh fixture on module functions
fuzzyman at voidspace.org.uk
Mon Mar 5 10:06:30 PST 2007
Kumar McMillan wrote:
> On 3/4/07, Titus Brown <titus at caltech.edu> wrote:
>> import ObnoxiousModule
>> ObnoxiousModule = module_wrapper(ObnoxiousModule)
>> # modify ObnoxiousModule all you want, and now the global
>> # ObnoxiousModule module won't be touched, e.g.
>> ObnoxiousModule.A = mock_A
>> # ObnoxiousModule.A is now module-local.
> I think the problem with this is that the use case for accessing a
> module that you need to mock *only* in your test itself is limited.
> Most of the time the module attribute I need to mock has to be global
> for it to do what I want. Thus, enter the fairly lame idiom of:
> _saved_A = ObnoxiousModule.A
> ObnoxiousModule.A - mocked_A
> ObnoxiousModule.A = _saved_A
This is a pattern we use quite often when patching at the module level.
(Although I assume that the '-' should be an '='.)
> I bet there are some mock libraries out there that simplify this
> approach but I use mocks so rarely that I haven't bothered to dig in.
> testing-in-python mailing list
> testing-in-python at lists.idyll.org
More information about the testing-in-python