这里就不再介绍单元测试的作用了。

首先单元测试的创建方式有两种,一种是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 单元测试的更多相关文章

  1. django的单元测试框架unittest、覆盖率

    django的单元测试 指定测试范围: 指定运行某些测试文件./manage.py test --pattern="tests_*.py" -v 2 运行所有测试文件./manag ...

  2. unittest 单元测试框架断言方法

    unittest单元测试框架的TestCase类下,测试结果断言方法:Assertion methods 方法 检查 版本 assertEqual(a, b)  a == b assertNotEqu ...

  3. Node.js的UnitTest单元测试

    body{ font: 16px/1.5em 微软雅黑,arial,verdana,helvetica,sans-serif; } 在专业化的软件开发过程中,无论什么平台语言,现在都需要UnitTes ...

  4. 我的TDD实践---UnitTest单元测试

    我的TDD实践---UnitTest单元测试 “我的TDD实践”系列之UnitTest单元测试 写在前面: 我的TDD实践这几篇文章主要是围绕测试驱动开发所展开的,其中涵盖了一小部分测试理论,更多的则 ...

  5. unittest单元测试框架总结

    unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果.今天笔者 ...

  6. unittest单元测试框架详解

    unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果.今天笔者 ...

  7. Selenium+Python ---- 免登录、等待、unittest单元测试框架、PO模型

    1.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...

  8. unittest单元测试框架

    unittest单元测试框架 概述: 单元测试框架主要用来完成以下三件事: 提供用例组织与执行:当测试用例只有几条时,可以不必考虑用例的组织,但是当用例达到成百上千条时,大量的用例堆砌在一起,就产生了 ...

  9. python unittest单元测试

    unittest单元测试框架:包含测试用例编写.测试收集\测试用例加载.执行测试用例.生成测试用例报告,同时,更提供了添加断言,异常处理等. 第一:创建测试类,创建测试用例 第二:收集测试用例,加载测 ...

随机推荐

  1. Linux新手随手笔记1.3

    shell脚本的编写(划重点) #!/bin/bash                    脚本的声明信息 #sjsjdhsjdhh                  脚本的注释 ls -l    ...

  2. react dnd demo2

    import React, { Component } from 'react'; import './App.css'; import Card from './Card'; import HTML ...

  3. ASP.NET Core 2.1与2.2 SignalR CORS 跨域问题

    将 SignalR 集成到 ASP.NET Core api 程序的时候,按照官方 DEMO 配置完成,本地访问没有问题,但是发布之后一直报跨域问题,本地是这样设置的: Asp.net core 2. ...

  4. 玩玩LED点阵屏(arduino nano)

    做些记录,特别是led显示左移效果的代码,二进制位的特效函数 unsigned ][]= { 0xff,0xd7,0x83,0xd6,0xc6,0xd4,0xc6,0x82,0xd6,0xba,0xf ...

  5. 菜鸟学IT之python网页爬取初体验

    作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2881 1. 简单说明爬虫原理 爬虫简单来说就是通过程序模拟浏览器放松请求站 ...

  6. WebApi(五)-Swagger接口文档①简单集成

    1,通过NuGet引用Swashbuckle 2,打开项目属性-->生成,勾选XML文档文件,保存 3,找到项目App_Start文件夹下WebApiConfig查找GetXmlComments ...

  7. 数据库常用的事务隔离级别和原理?&&mysql-Innodb事务隔离级别-repeatable read详解

    转载地址:https://baijiahao.baidu.com/s?id=1611918898724887602&wfr=spider&for=pc https://blog.csd ...

  8. Python爬虫beautifulsoup4常用的解析方法总结

    摘要 如何用beautifulsoup4解析各种情况的网页 beautifulsoup4的使用 关于beautifulsoup4,官网已经讲的很详细了,我这里就把一些常用的解析方法做个总结,方便查阅. ...

  9. 新建promise

    callback(){ const promise =new Promise((resolve,rejest)=>{ console.log('2') 代码 resolve('true') }) ...

  10. 基于.NET平台的Ocelot网关框架教程汇总

    Ocelot 框架是基于.NET 开发的 API 网关,API网关是系统内部服务暴露在外部的一个访问入口,类似于代理服务器,就像一个公司的门卫承担着寻址.限制进入.安全检查.位置引导等工作,我们可以形 ...