python3 应用 nose_parameterized 实现unittest 参数化
一、读取变量的值,实现unittest 参数化
import nose_parameterized,unittestdef calc(a:int,b:int):return a+b case_data =[[10,20,30],[12,21,33],[15,21,36] ] class MyClass(unittest.TestCase):@nose_parameterized.parameterized.expand(case_data)def test_compare(self,a,b,expect):actual = calc(int(a),int(b))self.assertEqual(actual,expect) if __name__ == '__main__':unittest.main()
定义了一个二维数组case_data,用来存值,使用时直接在test方法上方加
@nose_parameterized.parameterized.expand(case_data)
最后可以得到以下测试结果,说明测试成功。
同样,也可以将case_date定义为下面的形式,也可以实现unittest参数化。
case_data =[(10,20,30),(12,21,33),(15,21,36) ]
二、读取文件的方式,实现unittest 参数化
@nose_parameterized.parameterized.expand(case_date) 这句中的case_data, 只要写个函数,从文件格式读取的每一行放到一个list里,生成一个二维数组,,将这个二维数组赋给case_data就可以了。
如下所示,调用类DataToParam中的text方法,从 case_data.txt 生成一个二维数组。
@nose_parameterized.parameterized.expand(DataToParam.text('case_data.txt'))
下面是读取txt文件的函数封装在类DataToParam 里, 要读取excel的话,可以在DataToParam里再加一个读取excel的函数,然后把判断文件单独拎出来,放一个函数里,这样可以公用。
class DataToParam(object): @staticmethod def text(filename,seq=','): if os.path.isfile(filename): with open(filename,encoding='utf-8') as f: res = [] for line in f: res.append(line.strip().split(seq)) return res else: raise Exception('参数化文件不存在!') #主动抛出异常 print(DataToParam.text('case_data.txt'))
转载于:https://www.cnblogs.com/nancyzhu/p/8551389.html
python3 应用 nose_parameterized 实现unittest 参数化相关推荐
- day10-Python学习笔记(二十三)线程池,unittest参数化,协程
线程池,unittest参数化,协程 python的多线程只能利用cpu的一个核心,一个核心同时只能运行一个任务那么为什么你使用多线程的时候,它的确是比单线程快答:如果是一个计算为主的程序(专业一点称 ...
- 使用nose_parameterized使unitTest实现参数化
nose-parameterized是一个针对Python单元测试框架实现参数化的扩展 import unittest # from nose_parameterized import paramet ...
- python3+requests+unittest_python3+requests+unittest:接口自动化测试(一)
简单介绍框架的实现逻辑,参考代码的git地址: 1.环境准备 python3 + pycharm编辑器 2.框架目录展示 (该套代码只是简单入门,有兴趣的可以不断后期完善) (1)run.py主运行文 ...
- Python Unittest参数化parameterized之数据驱动
一.parameterized介绍 之前我们写过 Unittest第三方库parameterized类似Unittest的DDT.Pytest@pytest.mark.parametrize,可以实现 ...
- Unittest参数化
目录 1. 为什么要使用参数化 2. ddt方法 2.1 ddt介绍 2.2 ddt安装 2.3 ddt实战 3. paramunittest 1. 为什么要使用参数化 有些用例会考虑正向.逆向等多种 ...
- unittest参数化parameterized
# pip install parameterized安装包 # 若报错"Value for scheme.headers does not match",重装pip # 若报错& ...
- python param_Python基于paramunittest模块实现excl参数化
一.总结说明 Windows环境安装:paramunittest cmd输入命令:pip install paramunittest 总结说明: 1.paramunittest是unittest实现参 ...
- Python+Selenium 自动化测试 6. Unittest模块学习
unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果. 源码例 ...
- python自动化测试-【自动化测试】Python - unittest单元测试框架
一.测试模型 下面这部分来自于某书籍资料,拿过来,按需参考一下: 测试模型 (1)线性测试 1.概念: 通过录制或编写对应应用程序的操作步骤产生的线性脚本.单纯的来模拟用户完整的操作场景.(操作,重复 ...
最新文章
- pythonselenium设置_selenium 怎样设置请求头?
- BugKuCTF 杂项 猜
- 没有学过功夫能否练神功
- leetcode64. 最小路径和
- 使用NUnit在.Net编程中进行单元测试(转载)
- SQL Server DTS
- POJ读书笔记6.1 - 约瑟夫问题 2746
- python项目描述怎么写_个人项目(python)
- 凸优化第五章对偶 5.5 最优性条件
- 微信小程序点餐系统需求分析与建模
- CATIA软件有限元分析功能详解及使用教程
- 职称计算机和英语保留时间,职称计算机考试成绩_职称计算机应用能力考试成绩保留时间是多长?...
- c语言实习报告,计算机c语言编程实习心得
- java程序员面试自我介绍范文
- java中的math.abs_在Java中什么意思 Math.abs(x)及同类的的公式
- CSDN问答模块标题推荐任务(一) —— 基本框架的搭建
- THINKPAD X250 加SSD安装WIN10 BIOS设置
- 物联网应用-分布式对象储存工具-MinIO 对象存储win部署及使用
- html期末作业代码网页设计——个人生活记录设计(3页) 学生网站模板
- 高速USB转4串口产品设计-TTL串口
热门文章
- 华南理工大学广州学院计算机二级,华南理工大学广州学院学子在第三届“泰迪杯”数据分析职业技能大赛中荣获佳绩...
- Python导包、模块报错的问题
- Python3之字典生成器结合lambda实现按key/value排序
- java cygwin 乱码_windows10乱码怎么解决
- rocketmq queue_RocketMQ 实战(三) - 消息的有序性
- LeetCode 2191. 将杂乱无章的数字排序(自定义排序)
- 天池 在线编程 聪明的销售(计数+贪心)
- LeetCode 316. 去除重复字母 / 1081. 不同字符的最小子序列(单调栈)
- [Kaggle] Heart Disease Prediction
- LeetCode 410. 分割数组的最大值(极小极大化 二分查找 / DP)