Django REST framework 单元测试
Posted eoalfj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django REST framework 单元测试相关的知识,希望对你有一定的参考价值。
Django REST framework 单元测试
只是简单记录一下测试代码怎么写
环境
Win10
Python3.7
Django2.2
项目
参照官网 快速开始 写了一个 demo
测试
参照官网 测试
和 Django 的测试差不多
创建 tutorial/tests/tests.py
import json
from django.test import TestCase
from rest_framework import status
from rest_framework.test import APIClient
class LittleTestCase(TestCase):
def setUp(self):
self.click = APIClient()
def test_users_post(self):
# /users/ POST
data = {
"username": "tom",
"email": "[email protected]"
}
response = self.client.post("/users/", data)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
# /users/:id GET 地址
response_content = json.loads(response.content)
user_url = response_content["url"]
# /users/:id GET 检查新增用户是否符合预期
response = self.client.get(user_url)
response_content = json.loads(response.content)
self.assertEqual(response.status_code, 200)
self.assertEqual("tom", response_content["username"])
self.assertEqual("[email protected]", response_content["email"])
执行测试
python manage.py test <测试文件所在目录>
python manage.py test tests/
测试结果,执行一个测试成功
测试前创建测试数据库,测试完毕删除数据库
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
.
----------------------------------------------------------------------
Ran 1 test in 0.022s
OK
Destroying test database for alias 'default'...
以上是关于Django REST framework 单元测试的主要内容,如果未能解决你的问题,请参考以下文章
Django-Rest-Framework JWT 单元测试说“未提供身份验证”
如何为 django-rest-framework api 编写单元测试?