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之数据类型总结
Sep 24 Python
Python连接MySQL并使用fetchall()方法过滤特殊字符
Mar 13 Python
Python 实现简单的shell sed替换功能(实例讲解)
Sep 29 Python
Django中的Signal代码详解
Feb 05 Python
Python 读取某个目录下所有的文件实例
Jun 23 Python
Python并行分布式框架Celery详解
Oct 15 Python
python 字典有序并写入json文件过程解析
Sep 30 Python
手把手教你Python yLab的绘制折线图的画法
Oct 23 Python
解决python web项目意外关闭,但占用端口的问题
Dec 17 Python
Python测试Kafka集群(pykafka)实例
Dec 23 Python
Pytorch maxpool的ceil_mode用法
Feb 18 Python
Python enumerate() 函数如何实现索引功能
Jun 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中逗号与点号的区别
2013/08/05 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
2014/11/11 PHP
详解php 使用Callable Closure强制指定回调类型
2017/10/26 PHP
php实现二叉树中和为某一值的路径方法
2018/10/14 PHP
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/01/13 Javascript
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
2010/06/19 Javascript
js处理表格对table进行修饰
2014/05/26 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
javascript实现确定和取消提示框效果
2015/07/10 Javascript
jquery实现手机号码选号的方法
2015/07/31 Javascript
jquery插件pagination实现无刷新ajax分页
2015/09/30 Javascript
JS生成不重复的随机数组的简单实例
2016/07/10 Javascript
浅谈Angularjs link和compile的使用区别
2016/10/21 Javascript
jQuery在header中设置请求信息的方法
2017/03/06 Javascript
详解ES7 Decorator 入门解析
2019/02/18 Javascript
一次让你了解全部JavaScript的作用域
2019/06/24 Javascript
nodejs中使用archive压缩文件的实现代码
2019/11/26 NodeJs
JS forEach跳出循环2种实现方法
2020/06/24 Javascript
[01:42]TI4西雅图DOTA2前线报道 第一顿早饭哦
2014/07/08 DOTA
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
独特的python循环语句
2016/11/20 Python
使用python os模块复制文件到指定文件夹的方法
2019/08/22 Python
Python上下文管理器全实例详解
2019/11/12 Python
Tensorflow之梯度裁剪的实现示例
2020/03/08 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
在keras里面实现计算f1-score的代码
2020/06/15 Python
党员个人对照检查材料范文
2014/09/24 职场文书
2014年班长个人工作总结
2014/11/14 职场文书
英语邀请函范文
2015/02/02 职场文书
2015年护士医德医风自我评价
2015/03/03 职场文书
湘江北去观后感
2015/06/15 职场文书
干货:如何写好观后感 !
2019/05/21 职场文书
开学季:喜迎新生,迎新标语少不了
2019/11/07 职场文书
Python  lambda匿名函数和三元运算符
2022/04/19 Python
Win11 25163.1010更新补丁KB5016904推送,测试服务验证管道(附更新修复汇总)
2022/07/23 数码科技
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS