我有这个信号:
@receiver(user_logged_in)
def on_user_login(sender, request, **kwargs):
if request.user.is_superuser:
运行应用程序时一切正常。但是在测试时,这段代码失败了:
self.client.force_login(...)
测试失败了:
AttributeError: HttpRequest 对象没有属性用户
如果我删除信号,该测试用例运行正常。
我有Django 1.10
答案 0 :(得分:0)
在我的测试中,我正在测试其中一个管理员视图。在进行此更改之前,我想先登录用户。我没有意识到的是,我真的只想测试管理视图,而不是登录。
因此,我使用RequestFactory
而不是使用客户端进行测试,并将用户传递给它。无需登录。
原始错误是由于django测试中的client
未将用户添加到请求中。