第十一天 unittest参数化模块
unittest的工作原理:一下例子简单的描述了整个过程
def calc(a,b):
return a//b
import unittest,HTMLTestRunner
import BeautifulReport
from unittest import TestCase
class MyTest(TestCase):#继承TestCase
@classmethod#类方法
def setUpClass(cls):#所有用例执行之前会执行一次,多用于数据库连接
print('运行setUpClass')
@classmethod
def tearDownClass(cls):#所有用例执行之后会执行一次,多用于数据库连接
print('运行setUpClass')
def setUp(self):#每条用例运行之前都会执行
print('运行setUp')
def tearDown(self):#每条用例运行之后都会执行
print('tearDown')
def test_calc1(self):
#正常的用例 加上下面注释就是用例描述
'''这是测试出发计算器正常的'''
print('第一条用例')
res=calc(4,2)
self.assertEqual(2,res,'预期结果和实际结果不符合 预期结果 2 世界结果为%s'%res)#后面提示可写可不写
def test_calc2(self):
'''这是测试出发计算器不正常的'''
print('第二条用例')
res=calc(5,1)
self.assertEqual(1,res)#断言
def test_a(self):
'''这是王艳辉谈恋爱的'''
print('wangyanghui')
def test_b(self):
'''张向欢胖胖的'''
print('zhangxianghuan') # unittest.main()#可以帮运行当前文件里面的所有测试用例 测试用例的方法名必须以test开头,不然不能测出来
test_sutie=unittest.TestSuite()#定义一个测试集合,
test_sutie.addTest(MyTest('test_a'))#把类里的一个用例加入到集合
test_sutie.addTest(unittest.makeSuite(MyTest))#把类里面的所有的用例都加到集合里
runtest=unittest.TextTestRunner()
runtest.run(test_sutie)
#以上是测试用例的基本流程 #不好看的报告
f=open('report.html','wb')#可以在网页上直接浏览的报告
runner=HTMLTestRunner.HTMLTestRunner(stream=f,title='XXX测试报告',description='这是XXX测试的')
#加上'''xxx'''是报告里面加注释的
runner.run(test_sutie)
f.close() #好看的报告
report=BeautifulReport.BeautifulReport(test_sutie)
report.report(description='XXX测试',filename='report2.html')
print(report.failure_count)#失败的条数
print(report.success_count)#成功的条数
第十一天 unittest参数化模块的更多相关文章
- python自动化测试学习笔记-unittest参数化
做接口测试的时候,当一个参数需要输入多个值的时候,就可以使用参数来实现: python中unittest单元测试,可以使用nose_parameterized来实现: 首先需要安装:pip inst ...
- python接口自动化(二十一)--unittest简介(详解)
简介 前边的随笔主要介绍的requests模块的有关知识个内容,接下来看一下python的单元测试框架unittest.熟悉 或者了解java 的小伙伴应该都清楚常见的单元测试框架 Junit 和 T ...
- Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 os模块 hashlib模块 platform模块 csv模块
Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函 ...
- Python【unittest】模块
[unittest]模块是python3.5中的一个内置模块 1.python文件导入[unittest]模块 import unittest 2.定义一个测试用例类,继承[unittest.Test ...
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十一:PS/2模块⑤ — 扩展鼠标
实验十一:PS/2模块⑤ — 扩展鼠标 当普通鼠标即三键鼠标再也无法满足需求的时候,扩展鼠标即滚轮鼠标就诞生了,然而实验十一的实验目的就是实现滚轮鼠标的驱动.不过,进入整体之前,先让我们来了解一下鼠标 ...
- python3 应用 nose_parameterized 实现unittest 参数化
一.读取变量的值,实现unittest 参数化 import nose_parameterized,unittest def calc(a:int,b:int): return a+b case_da ...
- 【转载】unittest参数化(paramunittest)
前言 paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例 前面讲数据驱动的时候,用ddt可以解决多组数据传入,自动生成多个测试用例.本篇继续介绍 ...
- unittest参数化(paramunittest)
前言 paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例前面讲数据驱动的时候,用ddt可以解决多组数据传入,自动生成多个测试用例.本篇继续介绍另 ...
- parameterized之unittest参数化
unittest没有想testNG那么方便,可以进行参数化,但是有一个第三方库可是实现参数化 安装 pip install parameterized 该库可以在python的所有单元测试框架中使用 ...
随机推荐
- 详解mysql复制机制--异步复制,半同步复制和并行复制
图4 那么如何并行化,并行IO线程,还是并行SQL线程?其实两方面都可以并行,但是并行SQL线程的收益更大,因为SQL线程做的事情更多(解析,执行).并行IO线程,可以将从Master拉取和写Rela ...
- SpringBoot2.x集成WebSocket
WebSocket 不做过多得介绍,这里有篇比较全面得文章 Spring Boot系列十六 WebSocket简介和spring boot集成简单消息代理 我这里是精简版,只挑出核心代码记录 ...
- nginx自定义log_format以及输出自定义http头
官方文档地址: http://nginx.org/en/docs/http/ngx_http_log_module.html 一.log_format默认格式 首先Nginx默认的log_format ...
- iterm2 vim 开启滚轮
之前使用mac自带终端时,可以通过上下滑动触摸板来在vim中快速浏览上下文.最近听说iterm2功能更加强大,索性试一试.发现默认没有这个功能,感觉应该可以通过配置实现,于是在iterm2的prefe ...
- Ruby Rails学习中:调试信息和 Rails 的三种环境,Users 资源,调试器,Gravatar 头像和侧边栏
注册 一.调试信息和 Rails 环境 现在咱们要实现的用户资料页面是我们这个应用中第一个真正意义上的动态页面.虽然视图的代码不会动态改变, 不过每个用户资料页面显示的内容却是从数据库中读取的.添加动 ...
- BZOJ 4899 记忆的轮廓
话说BZOJ 是不是死了啊 (已经没有传送门了) 设 $f[i][j]$ 表示走到第 $j$ 个位置确定了 $i$ 个存档点时的最小代价,并强制第 $j$ 个位置有一个存档点 那么设 $cst[i][ ...
- spring 的工厂类
spring 的工厂类 1. 工厂类 BeanFactory 和 ApplicationContext 的区别. ApplicationContext 是 BeanFactory 的子接口,提供了比父 ...
- 利用Cmake 将最新版本OBS编译成windows版本。
准备工作: 1. VS2013 的最新更新版或者VS2015 2. QT Creater 5.7 https://www.qt.io/ 3. CMake (cmake-gui) 4. obs 依 ...
- mybatis 插入语句 返回自增长id方法
背景:目前有个插入语句需要获取插入记录的id 因为id是自增长的,所以要在插入后返回这个id 错误1: mapper.xml: <!-- 新增 返回自增长id--> <insert ...
- js判断浏览器内核如果是ie弹出提示非ie不进行任何操作
如上做一个弹出框针对ie兼容 // 获取IE版本 function IEVersion() { // 取得浏览器的userAgent字符串 var userAgent = navigator.user ...