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冒泡排序算法的实现代码
Nov 21 Python
跟老齐学Python之深入变量和引用对象
Sep 24 Python
Python利用正则表达式匹配并截取指定子串及去重的方法
Jul 30 Python
python实现红包裂变算法
Feb 16 Python
浅谈Python生成器generator之next和send的运行流程(详解)
May 08 Python
浅析Python中的赋值和深浅拷贝
Aug 15 Python
PyQt5每天必学之工具提示功能
Apr 19 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
Oct 06 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
Jan 20 Python
基于python实现MQTT发布订阅过程原理解析
Jul 27 Python
python 线程的五个状态
Sep 22 Python
Python scrapy爬取起点中文网小说榜单
Jun 13 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
第九节 绑定 [9]
2006/10/09 PHP
非常好的php目录导航文件代码
2006/10/09 PHP
PHP基础学习小结
2011/04/17 PHP
PHP基础教程(php入门基础教程)一些code代码
2013/01/06 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
2014/06/12 PHP
php中使用array_filter()函数过滤空数组的实现代码
2014/08/19 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
2016/05/19 PHP
php处理静态页面:页面设置缓存时间实例
2017/06/22 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
阿里云的WindowsServer2016上部署php+apache
2018/07/17 PHP
PHP的PDO事务与自动提交
2019/01/24 PHP
JQUBAR1.1 jQuery 柱状图插件发布
2010/11/28 Javascript
JS保留小数点(四舍五入、四舍六入)实现思路及实例
2013/04/25 Javascript
jQuery中attr()方法用法实例
2015/01/05 Javascript
浅谈JavaScript数据类型及转换
2015/02/28 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
javascript防篡改对象实例详解
2017/04/10 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
浅谈jquery fullpage 插件增加头部和版权的方法
2018/03/20 jQuery
详解redis在nodejs中的应用
2018/05/02 NodeJs
vue.js实现备忘录demo
2019/06/26 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
Python专用方法与迭代机制实例分析
2014/09/15 Python
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
Python学习笔记之For循环用法详解
2019/08/14 Python
html5使用canvas画空心圆与实心圆
2014/12/15 HTML / CSS
Canvas globalCompositeOperation
2018/12/18 HTML / CSS
如何用Java实现列出某个目录下的所有子目录
2015/07/20 面试题
求职简历中自我评价
2014/01/28 职场文书
教师一岗双责责任书
2014/04/16 职场文书
巾帼建功标兵事迹材料
2014/05/11 职场文书
公司保密管理制度
2015/08/04 职场文书
诚信高考倡议书
2019/06/24 职场文书
导游词之丽江普济寺
2019/10/22 职场文书