为Django测试创建经过身份验证的用户

时间:2019-04-26 08:29:31

标签: python django

我要问的原因是我有usernamepasswordotp_token字段。 otp_token的创建具有挑战性,因此我想知道是否存在一种在测试文件的开头创建经过身份验证的用户的方式,以便以经过身份验证的用户身份执行其余的django测试?

例如,如何将登录用户传递给以下用户

def some_test(self):
    login = self.client.login(username='testUser', password='testPassword')

    response = self.client.get(reverse('page1:conent1'))
    self.assertEqual(response.status_code, 200)

related question

1 个答案:

答案 0 :(得分:1)

不确定如何生成该令牌,但是我认为您可以在测试中使用一些虚拟数据

from django.test import TestCase, Client

def setUp(self):
    self.user = User.objects.create(username='<USERNAME>',
                                    email='<EMAIL>', otp_token='<YOUR_VALUE>')
    self.user.set_password(<PASSWORD>)
    self.user.save()
    self.client = Client()

def some_test(self):
    login = self.client.login(username='<USERNAME>', password='<PASSWORD>')
...