gpt4 book ai didi

python - 我如何模拟 Django 中的函数?

转载 作者:行者123 更新时间:2023-12-02 19:26:05 25 4
gpt4 key购买 nike

我希望以下对 which_user 的调用返回 self.user 无论传递给它的是什么,但它的行为就好像它根本没有被模拟一样。

def test_user_can_retrieve_favs_using_impersonation(self):
with mock.patch('impersonate.helpers.which_user', return_value=self.user):
user = which_user(self.user2)

我在这里做错了什么?我像这样导入了 which_user:from impersonate.helpers import which_user 如果有帮助。

最佳答案

您需要通过函数的导入路径来模拟函数。例如,您在 myapp 的 View 中使用您的函数。所以你需要按照以下方式进行:

with mock.patch('myapp.views.which_user', return_value=self.user):
user = which_user(self.user2)

这是因为它只修补可测试模块中定义的变量,而不修补系统或 venv 中的原始库和包。

关于python - 我如何模拟 Django 中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62393376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com