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常见数制转换实例分析
May 09 Python
深度定制Python的Flask框架开发环境的一些技巧总结
Jul 12 Python
python正则分析nginx的访问日志
Jan 17 Python
python实现kMeans算法
Dec 21 Python
Python使用pickle模块存储数据报错解决示例代码
Jan 26 Python
Python中利用xpath解析HTML的方法
May 14 Python
使用Django2快速开发Web项目的详细步骤
Jan 06 Python
python简单鼠标自动点击某区域的实例
Jun 25 Python
详解Python3 pickle模块用法
Sep 16 Python
flask框架渲染Jinja模板与传入模板变量操作详解
Jan 25 Python
Python实现石头剪刀布游戏
Jan 20 Python
Python数据可视化之用Matplotlib绘制常用图形
Jun 03 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
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
PHP 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
利用php绘制饼状图的实现代码
2013/06/07 PHP
PHP实现简单实用的验证码类
2015/07/29 PHP
PHP判断一个数组是另一个数组子集的方法详解
2017/07/31 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
浅析JavaScript中浏览器的兼容问题
2016/04/19 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
2016/05/26 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
微信小程序项目总结之点赞 删除列表 分享功能
2018/06/25 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
fastadmin中调用js的方法
2019/05/14 Javascript
深入了解响应式React Native Echarts组件
2019/05/29 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
2020/06/01 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
vue 全局封装loading加载教程(全局监听)
2020/11/05 Javascript
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
Python学习笔记之open()函数打开文件路径报错问题
2018/04/28 Python
解决Pycharm运行时找不到文件的问题
2018/10/29 Python
使用sklearn的cross_val_score进行交叉验证实例
2020/02/28 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
2020/12/14 Python
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
6号汽车旅馆预订:Motel 6
2018/02/11 全球购物
保险专业大专生求职信
2013/10/26 职场文书
五年级学生评语
2014/04/22 职场文书
银行奉献演讲稿
2014/09/16 职场文书
肖申克救赎观后感
2015/06/02 职场文书
生活小常识广播稿
2015/08/19 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书
Python利器openpyxl之操作excel表格
2021/04/17 Python