[New-bugs-announce] [issue42535] unittest.patch confuses modules with base modules
Tymek Wołodźko
report at bugs.python.org
Wed Dec 2 06:14:10 EST 2020
New submission from Tymek Wołodźko <twolodzko at gmail.com>:
Nonetheless having several attempts, I wasn't able to create reproducible example for this bug, but I will try describing it in detail.
I have a package with multiple modules. One of the paths is like `mymodule.nestedmodule.io`, among other functions, this module contains functions `foo()` and `bar()`, where `bar()` does call `foo()`. The module *does not* import base python's `io` module. I have a unit test that patches:
with path('mymodule.nestedmodule.io.foo'):
bar()
The problem is, when running the test I get the following error: `AttributeError: <module 'io' from '/usr/local/lib/python3.7/io.py'> does not have the attribute 'foo'`. The problem is solved when I rename `io` to `myio` and correct all the paths to use the new name.
----------
components: Library (Lib)
messages: 382303
nosy: twolodzko
priority: normal
severity: normal
status: open
title: unittest.patch confuses modules with base modules
type: behavior
versions: Python 3.7
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue42535>
_______________________________________
More information about the New-bugs-announce
mailing list