用于Django中的unittest的auth_token



我一直在尝试使用以下代码测试我的登录系统

from django.test import TestCase, Client
from rest_framework.test import force_authenticate

class DeckTestCase(TestCase):
@classmethod
def setUp(cls):
test_user1 = User.objects.create(first_name='tester',username='test1', password='123', email='testuser@something.com')
def test_if_logged(self):
factory = Client()
user = User.objects.get(username='teste1')
request = factory.post('/login', {'username': 'test1', 'password': '123'}, format='json')
force_authenticate(request,user=user)
print(request)

但我一直收到这个回复,是401(未经授权(

<Response status_code=401, "application/json">

有人能帮我吗?我不知道如何使用test_if_logged发送auth_token

您应该使用.create_user(…)[Django-doc]创建一个用户,这将为该用户设置一个哈希密码:

@classmethod
def setUp(cls):
test_user1 = User.objects.create_user(
first_name='tester',
username='test1',
password='123',
email='testuser@something.com'
)

最新更新