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中使用Tkinter模块创建GUI程序实例
Jan 14 Python
python 执行shell命令并将结果保存的实例
May 11 Python
Sanic框架配置操作分析
Jul 17 Python
python对html过滤处理的方法
Oct 21 Python
Python脚本修改阿里云的访问控制列表的方法
Mar 08 Python
django写用户登录判定并跳转制定页面的实例
Aug 21 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
Nov 25 Python
python读取多层嵌套文件夹中的文件实例
Feb 27 Python
基于打开pycharm有带图片md文件卡死问题的解决
Apr 24 Python
Flask中sqlalchemy模块的实例用法
Aug 02 Python
Python爬虫实现自动登录、签到功能的代码
Aug 20 Python
python基础详解之if循环语句
Apr 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
?繁体转换的class
2006/10/09 PHP
PHP中文件缓存转内存缓存的方法
2011/12/06 PHP
学习php设计模式 php实现工厂模式(factory)
2015/12/07 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
2017/08/10 PHP
js中自定义方法实现停留几秒sleep
2014/07/11 Javascript
Bootstrap创建可折叠的组件
2016/02/23 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
jquery.tableSort.js表格排序插件使用方法详解
2020/08/12 Javascript
webpack+react+antd脚手架优化的方法
2018/04/02 Javascript
js canvas实现红包照片效果
2018/08/21 Javascript
Bootstrap 按钮样式与使用代码详解
2018/12/09 Javascript
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
[02:53]DOTA2英雄昆卡基础教程
2013/11/25 DOTA
Python标准库os.path包、glob包使用实例
2014/11/25 Python
python实现上传下载文件功能
2020/11/19 Python
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
tensorflow实现简单逻辑回归
2018/09/07 Python
python之线程通过信号pyqtSignal刷新ui的方法
2019/01/11 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
通过代码实例了解Python3编程技巧
2020/10/13 Python
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
HTML5 表单验证失败的提示语问题
2017/07/13 HTML / CSS
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
Python面试题集
2012/03/08 面试题
中学生班主任评语
2014/01/30 职场文书
财务检查整改报告
2014/11/06 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
课文《燕子》教学反思
2016/02/17 职场文书
Pytorch可视化的几种实现方法
2021/06/10 Python
Python pandas之求和运算和非空值个数统计
2021/08/07 Python
SQL注入篇学习之盲注/宽字节注入
2022/03/03 MySQL