【发布时间】:2021-10-08 08:57:39
【问题描述】:
你有没有遇到过这个问题,如何模拟通过相对路径导入的? Python。 我不想使用绝对路径,因为我所有的模块都在同一个文件夹中。
更准确地说:
测试文件:
from ..some_module import something # <- the relative path
测试:
@patch(‘test_libs.some_path.some_module.something.method’)
def test_something()
. . . .
这样的补丁只接受绝对路径,并且不模拟类,相对导入。 我用谷歌搜索过,但没有成功。
【问题讨论】:
-
您确定在修补
long_path.something.method和导入something时遇到问题吗?我希望这能奏效。如果您正在修补long_path.something本身,我会遇到麻烦。可以尝试将测试代码更改为仅导入 module 而不是类。尝试from . import some_module,然后再使用some_module.something。