【发布时间】:2021-09-14 01:25:15
【问题描述】:
我在 Django Rest Framework 中有以下路线:
from rest_framework.viewsets import ModelViewSet
from rest_framework.renderers import JSONRenderer
from rest_framework.response import Response
class MainViewset(ModelViewSet):
renderer_classes = [JSONRenderer]
authentication_classes = []
permission_classes = []
def alive(self, request):
return Response("API is Alive", 200)
我有一个调用此 API 路由的 Django 测试,需要 JSON 字符串:
def test_base_route(self):
c = Client()
response = c.get('/budget/alive')
self.assertTrue(response.status_code == 200)
self.assertEqual(response.content.decode("UTF-8"), "API is Alive")
但是,我收到以下错误:
def test_base_route(self):
c = Client()
response = c.get('/budget/alive')
self.assertTrue(response.status_code == 200)
> self.assertEqual(response.content.decode("UTF-8"), "API is Alive")
E AssertionError: '"API is Alive"' != 'API is Alive'
E - "API is Alive"
E ? - -
E + API is Alive
我发现这很奇怪,因为我解码了字符串。我知道去掉引号是一件简单的事情,但是在发送 JSON 时将单个字符串序列化为响应并在 DRF 中的响应内容中取回它的正确方法是什么?
【问题讨论】:
标签: json django django-rest-framework