首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pytest-mock - Mock模块中的函数

pytest-mock - Mock模块中的函数
EN

Stack Overflow用户
提问于 2018-06-11 17:28:34
回答 1查看 11.5K关注 0票数 13

我的模块engine.py中有一个util,它是从另一个文件导入的:

代码语言:javascript
运行
复制
from main.utils.string import get_random_string

def generate_random_string():
    return get_random_string()

在我的测试文件中:

代码语言:javascript
运行
复制
def test_generate_random_string(mocker):
    mocker.patch('main.utils.string.get_random_string', return_value='123456')

但是,它仍然尝试使用string.get_random_string的真正实现,而不是我创建的模拟,除非我将engine.py更改为:

代码语言:javascript
运行
复制
from main.utils import string

def generate_random_string():
    return string.get_random_string()

如何在不向engine.py导入整个string模块的情况下实现模拟部分

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-11 18:25:29

我已经通过将mocker.patch('main.utils.string.get_random_string', return_value='123456')更改为mocker.patch('engine.get_random_string', return_value='123456')成功地实现了这一点。

详情可以在here上找到。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50794468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档