Django REST framework 单元测试实例解析


Posted in Python onNovember 07, 2019

这篇文章主要介绍了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'...

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中atexit模块的基本使用示例
Jul 08 Python
python计算圆周率pi的方法
Jul 11 Python
使用rst2pdf实现将sphinx生成PDF
Jun 07 Python
一些Centos Python 生产环境的部署命令(推荐)
May 07 Python
Python中的TCP socket写法示例
May 11 Python
python 返回列表中某个值的索引方法
Nov 07 Python
Python常用爬虫代码总结方便查询
Feb 25 Python
python 五子棋如何获得鼠标点击坐标
Nov 04 Python
python [:3] 实现提取数组中的数
Nov 27 Python
python颜色随机生成器的实例代码
Jan 10 Python
Python selenium爬取微信公众号文章代码详解
Aug 12 Python
Python Matplotlib绘制条形图的全过程
Oct 24 Python
浅谈python中统计计数的几种方法和Counter详解
Nov 07 #Python
Python操作SQLite/MySQL/LMDB数据库的方法
Nov 07 #Python
Flask框架路由和视图用法实例分析
Nov 07 #Python
Python 切分数组实例解析
Nov 07 #Python
Django 简单实现分页与搜索功能的示例代码
Nov 07 #Python
Flask框架请求钩子与request请求对象用法实例分析
Nov 07 #Python
Django框架ORM数据库操作实例详解
Nov 07 #Python
You might like
学习php笔记 字符串处理
2010/10/19 PHP
JavaScript arguments 多参传值函数
2010/10/24 Javascript
javascript匿名函数应用示例介绍
2014/03/07 Javascript
node.js中的fs.readSync方法使用说明
2014/12/17 Javascript
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
JS两种类型的表单提交方法实例分析
2016/11/28 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
AngularJS框架的ng-app指令与自动加载实现方法分析
2017/01/04 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
React组件之间的通信的实例代码
2017/06/27 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
vue滚动tab跟随切换效果
2020/06/29 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
python实现bitmap数据结构详解
2014/02/17 Python
Python编程中用close()方法关闭文件的教程
2015/05/24 Python
Python按行读取文件的实现方法【小文件和大文件读取】
2016/09/19 Python
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
python3 实现一行输入,空格隔开的示例
2018/11/14 Python
python函数不定长参数使用方法解析
2019/12/14 Python
Tensorflow tf.tile()的用法实例分析
2020/05/22 Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
2020/10/27 Python
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
动物学专业毕业生求职信
2013/10/11 职场文书
服务明星事迹材料
2014/12/29 职场文书
婚礼答谢词
2015/01/04 职场文书
超市督导岗位职责
2015/04/10 职场文书
八一建军节主持词
2015/07/01 职场文书
交通安全教育主题班会
2015/08/12 职场文书
变长双向rnn的正确使用姿势教学
2021/05/31 Python
详解Python函数print用法
2021/06/18 Python
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫