Python 模拟:缺少 1 个必需的位置参数

Python mocking: missing 1 required positional argument

我正在为我的 Flask 项目编写测试,并试图模拟我的数据库模型。代码看起来像这样:

import unittest.mock

@unittest.mock.patch("server.models.user")
def test_that_response_contain_correct_user_data(self, mocked_user):

这会导致此错误消息:

TypeError: test_that_response_contain_correct_user_data() missing 1 required positional argument: 'mocked_user'

所以看起来模拟框架没有将模拟数据注入函数。有谁知道这可能是什么原因造成的?

您需要从 unittest.mock 导入补丁并使用该装饰器注入模拟数据。

from unittest.mock import patch

@patch("server.models.user")
def test_that_response_contain_correct_user_data(self, mocked_user):