python3 应用 nose_parameterized 实现unittest 参数化
一、读取变量的值,实现unittest 参数化
import nose_parameterized,unittest def 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'))
python3 应用 nose_parameterized 实现unittest 参数化的更多相关文章
- python自动化测试学习笔记-unittest参数化
		
做接口测试的时候,当一个参数需要输入多个值的时候,就可以使用参数来实现: python中unittest单元测试,可以使用nose_parameterized来实现: 首先需要安装:pip inst ...
 - 使用nose_parameterized使unitTest实现参数化
		
nose-parameterized是一个针对Python单元测试框架实现参数化的扩展 import unittest # from nose_parameterized import paramet ...
 - 【转载】unittest参数化(paramunittest)
		
前言 paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例 前面讲数据驱动的时候,用ddt可以解决多组数据传入,自动生成多个测试用例.本篇继续介绍 ...
 - Python unittest 参数化
		
准备工作: pip install nose_parameterized 典型场景:用户名.密码参数化 实例 1,新建一个ftl.py 文件 ,用来将存在于.txt .xlsx 文件中的参数化数据转 ...
 - unittest参数化(paramunittest)
		
前言 paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例前面讲数据驱动的时候,用ddt可以解决多组数据传入,自动生成多个测试用例.本篇继续介绍另 ...
 - parameterized之unittest参数化
		
unittest没有想testNG那么方便,可以进行参数化,但是有一个第三方库可是实现参数化 安装 pip install parameterized 该库可以在python的所有单元测试框架中使用 ...
 - unittest参数化
		
我们在写case的时候,如果用例的操作是一样的,就是参数不同,比如说要测一个登陆的接口,要测正常登陆的.黑名单用户登陆的.账号密码错误的等等,在unittest里面就要写多个case来测试. 这样的情 ...
 - selenium,unittest——参数化url,并多线程加快脚本运行速度
		
利用参数化连续打开网页: #encoding=utf-8import unittestimport paramunittestimport timefrom selenium import webdr ...
 - 第十一天 unittest参数化模块
		
unittest的工作原理:一下例子简单的描述了整个过程 def calc(a,b): return a//b import unittest,HTMLTestRunner import Beauti ...
 
随机推荐
- mysql数据库使用mysqldump工具针对一个数据库备份,使用--databases选项与不使用该参数的区别
			
需求描述: 今天在做mysqldump备份某个数据库的试验,在备份某个数据库的时候可以使用 --databases参数,也可以直接进行某个数据库的备份,那么这里记录下两者的区别 操作过程: 1.使用- ...
 - C#读取Excel日期时间
			
//如果为20171219 if (dt.Rows[i][title].ToString().Trim().Length == 8) { realDate = dt.Rows[i][title].To ...
 - C++第15周(春)项目3 - OOP版电子词典(二)
			
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 [项目3-OOP版电子词典](本程序须要的相关 ...
 - PHP5 session 详解【经典】
			
原文:http://www.pkwind.com/php5-session-xiang-jie-jing-dian http协议是WEB服务器与客户端 (浏览器)相互通信的协议,它是一种无状态协议.所 ...
 - 使用jq的ajax实现对xml文件的读取
			
之前一直在用json来传递数据,但是xml也是不可缺少的,于是开始了xml的征程.xml的一些属性啊之类的在菜鸟教程上列举的已经很详细了,但是却没有前段部分的获取教程,查询资料,遂懂: index.x ...
 - chrom调试
			
2.Event Listeners 可以看到事件找到对应在标签点开里有useCapture, passive: once: handler等等右键handler 的"show functio ...
 - chkconfig --add失败的处理方法
			
author: headsen chen datet:2018-08-30 11:57:49 1,在/etc/init.d/下面添加两个文件,并授予 +X 的权限,效果如下: 2,添加到开启自启 ...
 - cocos2dx3.1从零学习(二)菜单、场景切换、场景传值
			
转:http://www.it165.net/pro/html/201406/16195.html 回顾一下上一篇的内容,我们已经学会了创建一个新的场景scene,添加sprite和label到层中, ...
 - 【Object.prototype.toString.call()】---判断某个对象属于哪种内置类型------【巷子】
			
预热:目前我们知道区分对象类型的方式有三种 :type instanceof Object.prototype.toString.call. 那么这三种的区别是什么呢? type 在 Java ...
 - Nexus私有仓库简介
			
1. Nexus中的仓库 1.1 类型介绍 登陆Nexus,在左边菜单栏里选择Repositories,然后会出现右边的画面,右边上半部分是列出来的repository,黑体字是类型为grou ...