django - 在 DRF 中测试登录时,Pytest 断言返回 401 而不是 200
问题描述
当我尝试测试登录时,我不知道这段代码有什么问题,第一个断言通过,所以用户创建成功,但在第二个断言中失败。
提示:我使用的是简单的 JWT
测试代码:
from user.models import User
from rest_framework.test import APIClient
from mixer.backend.django import mixer
from django.urls import reverse
import pytest
client = APIClient()
@pytest.mark.django_db
class TestUser():
@pytest.fixture
def setup_user(self):
user = mixer.blend(User, email='a@a.com', password='1')
return user
def test_login(self, setup_user):
assert User.objects.count() == 1
data = {'email': 'a@a.com', 'password': '1'}
response = client.post(reverse('login'), data=data)
assert response.status_code == 200
网址:
path('api/login/', TokenObtainPairView.as_view(), name='login'),
错误:
FAILED user/tests/test_user.py::TestUser::test_login - assert 401 == 200
解决方案
尝试添加format="json"
到您的客户电话后
推荐阅读
- swift - 如何在 iVar 数组上使用 inout?
- r - 第一个和第二个“_”之间的正则表达式
- javascript - 超出网站内容页脚的代码
- elasticsearch - 无法在 ubuntu 上的 kubernetes 集群中创建 fluentd 容器
- algorithm - 组合冲突选项的实用方法
- python - PyQt5 QTableWidget 信号连接器调用了两次
- square - 确认支付表单库已加载
- python - 为什么当我尝试从 Python 中的数据库中获取一行时出现错误?
- python - TensorFlow read_file() 什么都不做
- elasticsearch - 当行类型为 _MAP 时,方解石从表中选择计数(intCol)(elasticsearch 示例)