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 提取文件的小程序
Jul 29 Python
Python基础教程之tcp socket编程详解及简单实例
Feb 23 Python
Python3 Random模块代码详解
Dec 04 Python
Django 实现下载文件功能的示例
Mar 06 Python
Pandas 同元素多列去重的实例
Jul 03 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
Apr 01 Python
Django 查询数据库并返回页面的例子
Aug 12 Python
将python2.7添加进64位系统的注册表方式
Nov 20 Python
Django之choices选项和富文本编辑器的使用详解
Apr 01 Python
Pycharm IDE的安装和使用教程详解
Apr 30 Python
python3通过qq邮箱发送邮件以及附件
May 20 Python
Python异常处理机制结构实例解析
Jul 23 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
使用php4加速网络传输
2006/10/09 PHP
php面向对象全攻略 (十二) 抽象方法和抽象类
2009/09/30 PHP
PHP 类与构造函数解析
2017/02/06 PHP
PHP高精确度运算BC函数库实例详解
2017/08/15 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
javascript 数组学习资料收集
2010/04/11 Javascript
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
jquery ajax 局部刷新小案例
2014/02/08 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
简单介绍JavaScript中字符串创建的基本方法
2015/07/07 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
JavaScript 中对象的深拷贝
2016/12/04 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
深入浅析js原型链和vue构造函数
2018/10/25 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
详解微信小程序自定义组件的实现及数据交互
2019/07/22 Javascript
原生JavaScript实现购物车
2021/01/10 Javascript
在Windows8上的搭建Python和Django环境
2014/07/03 Python
详解python的几种标准输出重定向方式
2016/08/15 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
python构建深度神经网络(DNN)
2018/03/10 Python
python pygame模块编写飞机大战
2018/11/20 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
python网络爬虫 CrawlSpider使用详解
2019/09/27 Python
Python ini文件常用操作方法解析
2020/04/26 Python
HTML5 Notification(桌面提醒)功能使用实例
2014/03/17 HTML / CSS
德国EGOIST网店:销售畅销的设计师品牌
2017/04/18 全球购物
电力公司个人求职信范文
2014/02/04 职场文书
公司任命书模板
2014/06/06 职场文书
会计学习心得体会
2014/09/09 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
婚宴致辞
2015/07/28 职场文书
小学总务工作总结
2015/08/13 职场文书