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脚本抓取网络小说来制作自己的阅读器
Aug 20 Python
使用Python从有道词典网页获取单词翻译
Jul 03 Python
Python实现模拟分割大文件及多线程处理的方法
Oct 10 Python
python使用openpyxl库修改excel表格数据方法
May 03 Python
python利用插值法对折线进行平滑曲线处理
Dec 25 Python
树莓派动作捕捉抓拍存储图像脚本
Jun 22 Python
简单了解python高阶函数map/reduce
Jun 28 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
Jul 25 Python
Python实现代码统计工具
Sep 19 Python
Python flask框架实现浏览器点击自定义跳转页面
Jun 04 Python
Python源码解析之List
May 21 Python
详解pytorch创建tensor函数
Mar 22 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精确的统计在线人数的方法
2015/10/21 PHP
php mysql实现mysql_select_db选择数据库
2016/12/30 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
两个DIV等高的JS的实现代码
2007/12/23 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
js获取select标签选中值的两种方式
2014/01/09 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
2014/05/14 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
JavaScript中的this机制
2016/01/30 Javascript
再次谈论Javascript中的this
2016/06/23 Javascript
JavaScript判断数组是否存在key的简单实例
2016/08/03 Javascript
原生js实现电商侧边导航效果
2017/01/19 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
2018/05/30 jQuery
浅谈Vue数据响应思路之数组
2018/11/06 Javascript
jQuery内容选择器与表单选择器实例分析
2019/06/28 jQuery
react中Suspense的使用详解
2019/09/01 Javascript
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
2018/12/05 Python
python读出当前时间精度到秒的代码
2019/07/05 Python
python数据持久存储 pickle模块的基本使用方法解析
2019/08/30 Python
Python 实现OpenCV格式和PIL.Image格式互转
2020/01/09 Python
Django实现任意文件上传(最简单的方法)
2020/06/03 Python
CHARLES & KEITH英国官网:新加坡时尚品牌
2018/07/04 全球购物
节能环保家庭事迹材料
2014/08/27 职场文书
查摆问题整改措施
2014/10/24 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
毕业生就业推荐表导师评语
2014/12/31 职场文书
谢师宴答谢词
2015/01/05 职场文书
物业工程部经理岗位职责
2015/04/09 职场文书
生日祝酒词大全
2015/08/10 职场文书
Python实战之疫苗研发情况可视化
2021/05/18 Python
Spring依赖注入多种类型数据的示例代码
2022/03/31 Java/Android
阿里云服务器Ubuntu 20.04上安装Odoo 15
2022/05/20 Servers