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": "tom@example.com"
}
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("tom@example.com", 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'...

最新文章

  1. Imagick 缩放图片和实现模糊
  2. [CQOI2011]动态逆序对
  3. [转]应聘Java,jsp,j2ee软件工程师笔试中可能出现的问题
  4. 从地址栏输入url到显示页面都发生了什么?
  5. 剑指offer——替换字符串
  6. Atom 插件安装
  7. Flask+Mysql搭建网站之数据库问题
  8. jQuery链式操作
  9. 用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(上)-快速上手Docker
  10. 初识Hibernate之关联映射(一)
  11. bzoj 4591: [Shoi2015]超能粒子炮&#183;改 [lucas定理]
  12. 如何让window.open()以post请求方式调用(巧妙解法)
  13. Gitlab_ansible_jenkins三剑客③Ansible的安装及使用
  14. DNS 原理
  15. python遇到的知识点
  16. tomcat配置文件context.xml和server.xml分析
  17. zabbix添加对自定义无规则的关键日志文件的监控
  18. IdentityServer3:.NET开源OpenID和OAuth2架构
  19. 第七篇:Jmeter连接MySQL的测试
  20. django admin后台显示中文

热门文章

  1. Swift开发笔记
  2. bzoj1339[Baltic2008]Mafia*
  3. Ethical Hacking - NETWORK PENETRATION TESTING(23)
  4. 【Python学习笔记三】一个简单的python爬虫
  5. Python面试题!百度大牛总结十条Python面试题陷阱
  6. 技能实际操作:如何为Centos7 配置静态路由?
  7. 跳过Google开机设置/验证/向导
  8. Windows搭建Redis集群-详细教程
  9. jmeter接口测试 -- 上传文件(multipart/form-data数据请求)
  10. ICPC North Central NA Contest 2018