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 七种邮件内容发送方法实例
Apr 22 Python
Python的迭代器和生成器使用实例
Jan 14 Python
Python编程中归并排序算法的实现步骤详解
May 04 Python
在Django中输出matplotlib生成的图片方法
May 24 Python
python 筛选数据集中列中value长度大于20的数据集方法
Jun 14 Python
Window 64位下python3.6.2环境搭建图文教程
Sep 19 Python
浅谈python的深浅拷贝以及fromkeys的用法
Mar 08 Python
Python 实现OpenCV格式和PIL.Image格式互转
Jan 09 Python
Python Selenium参数配置方法解析
Jan 19 Python
django下创建多个app并设置urls方法
Aug 02 Python
python 统计list中各个元素出现的次数的几种方法
Feb 20 Python
教你怎么用Python实现多路径迷宫
Apr 29 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学习之变量的使用
2011/05/29 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
2015/08/01 PHP
PHP自带方法验证邮箱是否存在
2016/02/01 PHP
php字符串操作常见问题小结
2016/10/11 PHP
php指定长度分割字符串str_split函数用法示例
2017/01/30 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
JS Array对象入门分析
2008/10/30 Javascript
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
Js 时间函数getYear()的使用问题探讨
2013/04/01 Javascript
jQuery基本过滤选择器使用介绍
2013/04/18 Javascript
全面理解面向对象的 JavaScript(来自ibm)
2013/11/10 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
基于jquery实现弹幕效果
2016/09/29 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
2016/11/22 Javascript
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
Python新手在作用域方面经常容易碰到的问题
2015/04/03 Python
python opencv实现运动检测
2018/07/10 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
python+tkinter实现学生管理系统
2019/08/20 Python
Python如何使用bokeh包和geojson数据绘制地图
2020/03/21 Python
Python实现微信表情包炸群功能
2021/01/28 Python
外企办公室竞聘演讲稿
2013/12/29 职场文书
文字自荐书范文
2014/02/10 职场文书
典型事迹材料范文
2014/12/29 职场文书
撤诉申请怎么写
2015/05/19 职场文书
小学运动会宣传稿
2015/07/23 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
Python进行区间取值案例讲解
2021/08/02 Python
如何用vue实现网页截图你知道吗
2021/11/17 Vue.js
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫