如何模拟 returns 用户对象的函数
How to mock a function that returns a user object
我正在尝试模拟一个 returns 像这样的用户对象的方法
@mock.patch('impersonate.helpers.which_user', return_value=self.user2)
def test_user_can_retrieve_favs_using_impersonation(self):
失败并出现错误:NameError: name 'self' is not defined
.我在测试class.
的setup方法中定义了self.user2
您不能在装饰器中使用 self
- 对象在解析时尚未定义。
相反,您可以将补丁移至方法中:
def test_user_can_retrieve_favs_using_impersonation(self):
with mock.patch('impersonate.helpers.which_user', return_value=self.user2):
...
或
def test_user_can_retrieve_favs_using_impersonation(self):
with mock.patch('impersonate.helpers.which_user') as mocked:
mocked.return_value=self.user2
...
我正在尝试模拟一个 returns 像这样的用户对象的方法
@mock.patch('impersonate.helpers.which_user', return_value=self.user2)
def test_user_can_retrieve_favs_using_impersonation(self):
失败并出现错误:NameError: name 'self' is not defined
.我在测试class.
self.user2
您不能在装饰器中使用 self
- 对象在解析时尚未定义。
相反,您可以将补丁移至方法中:
def test_user_can_retrieve_favs_using_impersonation(self):
with mock.patch('impersonate.helpers.which_user', return_value=self.user2):
...
或
def test_user_can_retrieve_favs_using_impersonation(self):
with mock.patch('impersonate.helpers.which_user') as mocked:
mocked.return_value=self.user2
...