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字符遍历的艺术
Sep 06 Python
linux 下实现python多版本安装实践
Nov 18 Python
Python实现PS图像抽象画风效果的方法
Jan 23 Python
使用Python制作表情包实现换脸功能
Jul 19 Python
详解python pandas 分组统计的方法
Jul 30 Python
python 实现手机自动拨打电话的方法(通话压力测试)
Aug 08 Python
Window10下python3.7 安装与卸载教程图解
Sep 30 Python
python plotly画柱状图代码实例
Dec 13 Python
Python阶乘求和的代码详解
Feb 14 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
Nov 02 Python
python爬虫用request库处理cookie的实例讲解
Feb 20 Python
基于Python实现的购物商城管理系统
Apr 27 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
ThinkPHP实现跨模块调用操作方法概述
2014/06/20 PHP
php中获取主机名、协议及IP地址的方法
2014/11/18 PHP
php表单提交与$_POST实例分析
2015/01/26 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
2016/09/11 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
PHP 计算两个时间段之间交集的天数示例
2019/10/24 PHP
解决FireFox下[使用event很麻烦]的问题
2006/11/26 Javascript
javascript jq 弹出层实例
2013/08/25 Javascript
JS循环遍历JSON数据的方法
2014/07/08 Javascript
JS动态改变表格边框宽度的方法
2015/03/31 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
移动端点击态处理的三种实现方式
2017/01/12 Javascript
jQuery实现节点的追加、替换、删除、复制功能示例
2017/07/11 jQuery
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
Vue2几种常见开局方式详解
2017/09/09 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
剖析Angular Component的源码示例
2018/03/23 Javascript
如何通过Proxy实现JSBridge模块化封装
2020/10/22 Javascript
JavaScript实现简单动态表格
2020/12/02 Javascript
Python远程桌面协议RDPY安装使用介绍
2015/04/15 Python
深入讲解Python中面向对象编程的相关知识
2015/05/25 Python
Python时间模块datetime、time、calendar的使用方法
2016/01/13 Python
python pandas库中DataFrame对行和列的操作实例讲解
2018/06/09 Python
Python实现两个list求交集,并集,差集的方法示例
2018/08/02 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
美体小铺英国官网:The Body Shop英国
2017/01/24 全球购物
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
计算机专业应届毕业生自荐信
2013/09/26 职场文书
编辑求职信样本
2013/12/16 职场文书
教师专业自荐书范文
2014/02/10 职场文书
六五普法宣传标语
2014/10/06 职场文书
2015秋季运动会通讯稿
2015/07/18 职场文书
2016年“11.11”光棍节活动总结
2016/04/05 职场文书
Redis入门基础常用操作命令整理
2022/06/01 Redis