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单元测试框架:包含测试用例编写.测试收集\测试用例加载.执行测试用例.生成测试用例报告,同时,更提供了添加断言,异常处理等. 第一:创建测试类,创建测试用例 第二:收集测试用例,加载测 ...
随机推荐
- 老白关于rac性能调优的建议(10gRAC)
RAC应用设计方面需要在底层做很有设计.虽然ORACLE的售前人员总是说RAC的扩展性是透明的,只要把应用分到不同的节点,就可以平滑的扩展系统能力了.而事实上,RAC的CACHE FUSION机制决定 ...
- CSS问题
当标签之间有缝隙 两个a标签之间消除缝隙 可在div设置 font-size:0 ul下的li去掉小圆点:设置 ul list-style:none <div> <a> & ...
- 一些矩阵范数的subgradients
目录 引 正交不变范数 定理1 定理2 例子:谱范数 例子:核范数 算子范数 定理3 定理4 例子 \(\ell_2\) <Subgradients> Subderivate-wiki S ...
- 制作自己cocoapods库
https://www.cnblogs.com/czc-wjm/p/5958103.html 今天来讲一下cocoapods制作,网上教程很多,就不再讲理论,直接操作: 1.创建仓库: 2.将仓库克隆 ...
- linux ps aux 各列内容说明
[root@zabbix3 ~]# ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot ...
- servlet(6) 链接数据库
一.servlet链接mysql步骤: 1.注册驱动器:Class.forName("com.mysql.jdbc.Driver"); 加载类并执行下面的静态语句块,将Driver ...
- NLP语义匹配
参考资料 [搜狗语义匹配技术前沿]https://www.jiqizhixin.com/articles/2018-10-25-16?from=synced&keyword=%E6%90%9C ...
- C语言博客作业05--指针
1.本章学习总结 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 1.2.2 代码累计 2.PTA总分 2.1截图PTA中函数题目集的排名得分 2.2 我的总分: 3.P ...
- 前端动态菜单-bootstrap-treeview
一.bootstrap-treeview 官网 Demo bootstrap-treeview是一款效果非常酷的基于bootstrap的jQuery多级列表树插件.该jQuery插件基于Twitter ...
- (简单)华为Nova青春 WAS-AL00的USB调试模式在哪里开启的流程
就在我们使用Pc接通安卓手机的时候,如果手机没有开启usb开发者调试模式,Pc则无办法成功检测到我们的手机,在一些情况下,我们使用的一些功能较强的app好比之前我们使用的一个app引号精灵,老版本就需 ...