我正在尝试模拟一种返回像这样的用户对象的方法
@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
。我在测试类的设置方法中定义了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
...