【问题标题】:Python, mock that was imported with relative pathPython,使用相对路径导入的模拟
【发布时间】: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

标签: python patch


【解决方案1】:

我发现原因不在相对路径中。抱歉打扰了,你可以关闭话题了。

【讨论】:

    猜你喜欢
    • 2015-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-11
    • 2011-11-22
    • 1970-01-01
    相关资源
    最近更新 更多