Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为django测试创建经过身份验证的用户_Python_Django - Fatal编程技术网

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

Python 为django测试创建经过身份验证的用户,python,django,Python,Django,我询问的原因是我有用户名、密码和otp_令牌字段。otp_令牌很难创建,因此我想知道是否有一种方法可以在测试文件的开头创建一个经过身份验证的用户,以作为经过身份验证的用户执行django测试的其余部分 例如,如何将已登录的用户传递给以下用户 def some_test(self): login = self.client.login(username='testUser', password='testPassword') response = self.client.get(

我询问的原因是我有
用户名
密码
otp_令牌
字段。
otp_令牌
很难创建,因此我想知道是否有一种方法可以在测试文件的开头创建一个经过身份验证的用户,以作为经过身份验证的用户执行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)

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

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>')
...
来自django.test导入测试用例,客户端
def设置(自):
self.user=user.objects.create(用户名=“”,
电子邮件=“”,otp_令牌=“”)
self.user.set_密码()
self.user.save()
self.client=client()
def一些_测试(自身):
login=self.client.login(用户名=“”,密码=“”)
...

不幸的是,这将不起作用,因为
otp_令牌
不是用户模型的一部分,它必须在用户创建后创建,如果不麻烦,请检查相关问题?我发现了。我将仔细观察并尝试复制一个测试