Django unittest 单元测试
这里就不再介绍单元测试的作用了。
首先单元测试的创建方式有两种,一种是app下面的test文件,另一种是自定义方式创建
方法一、使用test.py文件测试
from django.test import TestCase # Create your tests here.
# -*- coding: utf-8 -*-
# __author__ = 'dandy'
from rest_framework.test import APIRequestFactory class TestOrderAPI(TestCase): def setUp(self):
self.factory = APIRequestFactory()
print('starting') def test_name1(self):
"""
测试创建订单 :return:
"""
print('testing name111 ...........')
name = 'dandy'
self.assertEqual(name, 'dandy')
print('test name success !!!') def test_age1(self):
"""
测试创建订单 :return:
"""
print('testing age111 ...........')
age = 18
self.assertEqual(age, 17)
print('test age success !!!')
调用

也可以这样调用
python3 manage.py test app01.tests
直接test会进行全局查找,而上面的命令是对于各个子测试的执行
方法二、自定义文件
如下格式创建文件目录

# -*- coding: utf-8 -*-
# __author__ = 'dandy' from django.test import TestCase
from rest_framework.test import APIRequestFactory class TestOrderAPI(TestCase): def setUp(self):
self.factory = APIRequestFactory() def test_name(self):
"""
测试创建订单 :return:
"""
print('testing name ...........')
name = 'dandy'
self.assertEqual(name, 'dandy')
print('test name success !!!') def test_age(self):
"""
测试创建订单 :return:
"""
print('testing age ...........')
age = 18
self.assertEqual(age, 17)
print('test age success !!!')
执行

此时如果执行test命令

from django.test import TestCase
from rest_framework.test import APIRequestFactory
from api.test.util.mock_data import data_create_order
from api import views
from backend.models import User
from backend.constant import Constant class TestOrderAPI(TestCase):
"""
订单接口测试用例
""" def setUp(self):
self.factory = APIRequestFactory() def test_create(self):
"""
测试创建订单 :return:
"""
request = self.factory.post('/order/', data_create_order, format='json')
response = views.OrderCreateView.as_view()(request)
self.assertEqual(response.data['code'], 20000) def test_order_detail(self):
"""
获取订单详情 :return:
"""
request = self.factory.post('/order/', data_create_order, format='json')
response = views.OrderCreateView.as_view()(request) order_no = response.data['data']['order_no']
url = '/order/%(number)s/' % {'number': order_no}
request = self.factory.get(url)
response = views.OrderDetailView.as_view()(request, number=order_no)
self.assertEqual(response.data['code'], 20000)
实战
更多基础知识
https://www.jianshu.com/p/34267dd79ad6
https://docs.djangoproject.com/en/2.1/topics/testing/
Django unittest 单元测试的更多相关文章
- django的单元测试框架unittest、覆盖率
django的单元测试 指定测试范围: 指定运行某些测试文件./manage.py test --pattern="tests_*.py" -v 2 运行所有测试文件./manag ...
- unittest 单元测试框架断言方法
unittest单元测试框架的TestCase类下,测试结果断言方法:Assertion methods 方法 检查 版本 assertEqual(a, b) a == b assertNotEqu ...
- Node.js的UnitTest单元测试
body{ font: 16px/1.5em 微软雅黑,arial,verdana,helvetica,sans-serif; } 在专业化的软件开发过程中,无论什么平台语言,现在都需要UnitTes ...
- 我的TDD实践---UnitTest单元测试
我的TDD实践---UnitTest单元测试 “我的TDD实践”系列之UnitTest单元测试 写在前面: 我的TDD实践这几篇文章主要是围绕测试驱动开发所展开的,其中涵盖了一小部分测试理论,更多的则 ...
- unittest单元测试框架总结
unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果.今天笔者 ...
- unittest单元测试框架详解
unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果.今天笔者 ...
- Selenium+Python ---- 免登录、等待、unittest单元测试框架、PO模型
1.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...
- unittest单元测试框架
unittest单元测试框架 概述: 单元测试框架主要用来完成以下三件事: 提供用例组织与执行:当测试用例只有几条时,可以不必考虑用例的组织,但是当用例达到成百上千条时,大量的用例堆砌在一起,就产生了 ...
- python unittest单元测试
unittest单元测试框架:包含测试用例编写.测试收集\测试用例加载.执行测试用例.生成测试用例报告,同时,更提供了添加断言,异常处理等. 第一:创建测试类,创建测试用例 第二:收集测试用例,加载测 ...
随机推荐
- VC++6.0
for 循环的小括号中 不可以定义变量 我也是醉了
- MySQL Connector/C++ 8.0 源码编译
平台 ubuntu 16.04 参考文档: https://dev.mysql.com/doc/dev/connector-cpp/8.0/building.html 下载源码 访问 https:// ...
- Net包管理NuGet(1)nuget的使用方法
关于nuget,有很多介绍想要深入了解的可以看看官网https://docs.microsoft.com/zh-cn/nuget/what-is-nuget 本文简单介绍让不知道的可以快速了解 1,使 ...
- mysql时间比较
' and ZXBZ ='Y' AND SQRQ >= '2017-04-28 00:00:00' AND SQRQ <= '2017-04-28 23:59:59'; ;
- MyBatis 3源码解析(四)
四.MyBatis 查询实现 Employee empById = mapper.getEmpById(1); 首先会调用MapperProxy的invoke方法 @Override public O ...
- 015模块——起别名
1.import起别名:通过as关键字可以给模块起别名: 模块名一旦起别名,原模块名就不能再使用 2.起别名的作用:①可以简化模块名字 import mmmmmmmmmmm3 as my_m3 pri ...
- Spring Boot 2.x 编写 RESTful API (三) 程序层次 & 数据传输
用Spring Boot编写RESTful API 学习笔记 程序的层次结构 相邻层级的数据传输 JavaBean 有一个 public 的无参构造方法 属性 private,且可以通过 get.se ...
- Django 对接 支付宝支付, 回调
平台 点击这里进入 蚂蚁金服开放平台 沙箱 点击这里进入 沙箱环境 初始界面 设置公钥 下载创建秘钥工具 1. 进入文档中心 这里 2. 选中 电脑网站支付 3. 进入后选中 API 列表 中的 统 ...
- Shell 简单构建 Node web服务器
.git bash 执行代码生成: ./makeJs.sh 生成文件如下: 访问:http://127.0.0.1:3030/index.html makeJs.sh 代码如下: #create m ...
- 拆系数FFT
学习内容:国家集训队2016论文 - 再谈快速傅里叶变换 模板题:http://uoj.ac/problem/34 1.基本介绍 对长度为L的\(A(x),B(x)\)进行DFT,可以利用 \[ \b ...