【问题标题】:Unit Testing A @verified_email_required View单元测试 @verified_email_required 视图
【发布时间】:2020-05-14 05:06:31
【问题描述】:

我正在尝试对我的一个用@verified_email_required 装饰的视图进行单元测试。我不知道如何将用户设置为验证他们的电子邮件,以便允许他们查看页面并断言它使用正确的模板(创建超级用户没有帮助)。

这是我遇到的错误

AssertionError: False is not true : Template 'enrolment/index.html' was not a template used to render the response. Actual template(s) used: account/verified_email_required.html, account/base.html, base.html

这是我的测试

def test_verified_user_uses_correct_template(self):
    user = User.objects.create_superuser('username')
    self.client.force_login(user)
    response = self.client.get('/enrolment/')
    self.assertTemplateUsed(response, 'enrolment/index.html')

谢谢。

【问题讨论】:

    标签: django selenium testing tdd


    【解决方案1】:

    这不是标准的 Django 身份验证,而是来自django-allauth 包的一种。

    要验证电子邮件地址,您必须使用verified=True 创建一个EmailAdress 对象

     EmailAddress.objects.create(user=user, email="example@example.com", primary=True, verified=True)
    

    您可以在source of django-allauth 中看到以下型号,也可以在package tests 中看到一些型号

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      • 2011-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多