一、读取变量的值,实现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 参数化相关推荐

  1. day10-Python学习笔记(二十三)线程池,unittest参数化,协程

    线程池,unittest参数化,协程 python的多线程只能利用cpu的一个核心,一个核心同时只能运行一个任务那么为什么你使用多线程的时候,它的确是比单线程快答:如果是一个计算为主的程序(专业一点称 ...

  2. 使用nose_parameterized使unitTest实现参数化

    nose-parameterized是一个针对Python单元测试框架实现参数化的扩展 import unittest # from nose_parameterized import paramet ...

  3. python3+requests+unittest_python3+requests+unittest:接口自动化测试(一)

    简单介绍框架的实现逻辑,参考代码的git地址: 1.环境准备 python3 + pycharm编辑器 2.框架目录展示 (该套代码只是简单入门,有兴趣的可以不断后期完善) (1)run.py主运行文 ...

  4. Python Unittest参数化parameterized之数据驱动

    一.parameterized介绍 之前我们写过 Unittest第三方库parameterized类似Unittest的DDT.Pytest@pytest.mark.parametrize,可以实现 ...

  5. Unittest参数化

    目录 1. 为什么要使用参数化 2. ddt方法 2.1 ddt介绍 2.2 ddt安装 2.3 ddt实战 3. paramunittest 1. 为什么要使用参数化 有些用例会考虑正向.逆向等多种 ...

  6. unittest参数化parameterized

    # pip install parameterized安装包 # 若报错"Value for scheme.headers does not match",重装pip # 若报错& ...

  7. python param_Python基于paramunittest模块实现excl参数化

    一.总结说明 Windows环境安装:paramunittest cmd输入命令:pip install paramunittest 总结说明: 1.paramunittest是unittest实现参 ...

  8. Python+Selenium 自动化测试 6. Unittest模块学习

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

  9. python自动化测试-【自动化测试】Python - unittest单元测试框架

    一.测试模型 下面这部分来自于某书籍资料,拿过来,按需参考一下: 测试模型 (1)线性测试 1.概念: 通过录制或编写对应应用程序的操作步骤产生的线性脚本.单纯的来模拟用户完整的操作场景.(操作,重复 ...

最新文章

  1. pythonselenium设置_selenium 怎样设置请求头?
  2. BugKuCTF 杂项 猜
  3. 没有学过功夫能否练神功
  4. leetcode64. 最小路径和
  5. 使用NUnit在.Net编程中进行单元测试(转载)
  6. SQL Server DTS
  7. POJ读书笔记6.1 - 约瑟夫问题 2746
  8. python项目描述怎么写_个人项目(python)
  9. 凸优化第五章对偶 5.5 最优性条件
  10. 微信小程序点餐系统需求分析与建模
  11. CATIA软件有限元分析功能详解及使用教程
  12. 职称计算机和英语保留时间,职称计算机考试成绩_职称计算机应用能力考试成绩保留时间是多长?...
  13. c语言实习报告,计算机c语言编程实习心得
  14. java程序员面试自我介绍范文
  15. java中的math.abs_在Java中什么意思 Math.abs(x)及同类的的公式
  16. CSDN问答模块标题推荐任务(一) —— 基本框架的搭建
  17. THINKPAD X250 加SSD安装WIN10 BIOS设置
  18. 物联网应用-分布式对象储存工具-MinIO 对象存储win部署及使用
  19. html期末作业代码网页设计——个人生活记录设计(3页) 学生网站模板
  20. 高速USB转4串口产品设计-TTL串口

热门文章

  1. 华南理工大学广州学院计算机二级,华南理工大学广州学院学子在第三届“泰迪杯”数据分析职业技能大赛中荣获佳绩...
  2. Python导包、模块报错的问题
  3. Python3之字典生成器结合lambda实现按key/value排序
  4. java cygwin 乱码_windows10乱码怎么解决
  5. rocketmq queue_RocketMQ 实战(三) - 消息的有序性
  6. LeetCode 2191. 将杂乱无章的数字排序(自定义排序)
  7. 天池 在线编程 聪明的销售(计数+贪心)
  8. LeetCode 316. 去除重复字母 / 1081. 不同字符的最小子序列(单调栈)
  9. [Kaggle] Heart Disease Prediction
  10. LeetCode 410. 分割数组的最大值(极小极大化 二分查找 / DP)