python -- unittest测试用例函数无法传参的处理方法(ddt)
1、超继承
重写测试用例类的init方法,如下所示。
import requests
import unittest class XiaoheiCases(unittest.TestCase):
def __init__(self,methodName,url,data,cookies=None):
super(XiaoheiCases,self).__init__(methodName)
self.url = url
self.data = data
self.cookies = cookies
2、ddt模块
'''
ddt结合unittest来进行数据处理的第三方库,很强大
安装pip install ddt
ddt需要和unittest或pytest结合使用
'''
from ddt import ddt,data,unpack
import unittest
test_print = [,]
test_b = [[,,],[,,]] @ddt #装饰测试类
class TestMath(unittest.TestCase): @data(test_print) #装饰测试函数,通过这种方式传参,如果通过*test_data传参,则有几个参数,执行几次测试用例
def test_print(self,item):
print('item:{0}'.format(item)) @data(*test_b)
@unpack #当要取内层嵌套,如test_b的值时,用unpack修饰
def test_b(self,i,j,k): #使用unpack后,必须内层嵌套的值都以变量的形式传入,否则报错
print('我是i:{0},j:{1},k:{2}'.format(i,j))
注意:ddt模块在加载测试用例的时候,不能使用实例化的方式加载(suit.addTest(XiaoheiCases(‘test1’)),而应使用加载器的方式加载(loadder)
python -- unittest测试用例函数无法传参的处理方法(ddt)的更多相关文章
- python变量作用域,函数与传参
一.元组传值: 一般情况下函数传递参数是1对1,这里x,y是2个参数,按道理要传2个参数,如果直接传递元祖,其实是传递一个参数 >>> def show( x, y ): ... p ...
- Python全栈工程师(函数的传参)
ParisGabriel 感谢 大家的支持 每天坚持 一天一篇 点个订 ...
- Python之函数(一)定义函数以及传参
定义函数以及传参 函数的定义 def 函数名(): 函数体 例子: def func():#def关键字--定义 func函数名--和变量定义规则一样 ()必须要写格式 :声明 语句结束 s=[1,2 ...
- C#为什么不能像C/C++一样的支持函数只读传参
C#为什么不能像C/C++一样的支持函数只读传参? 这个问题其实问的人挺多的,我自己也经常想实现这个功能,但是发现总是那么的不尽人意. 有些人倒是给出了一下答案,但是都不能很好的解决像C/C++一样的 ...
- C# PDF Page操作——设置页面切换按钮 C# 添加、读取Word脚注尾注 C#为什么不能像C/C++一样的支持函数只读传参 web 给大家分享一个好玩的东西,也许你那块就用的到
C# PDF Page操作——设置页面切换按钮 概述 在以下示例中,将介绍在PDF文档页面设置页面切换按钮的方法.示例中将页面切换按钮的添加分为了两种情况,一种是设置按钮跳转到首页.下页.上页或者 ...
- 初识python 函数(定义,传参,返回值)
python基础(二): 菜鸟教程基础知识讲解的非常全面,内容选择我认为的重点输出一遍 函数: 定义一个函数: 你可以定义一个由自己想要功能的函数,以下是简单的规则: def fun(arg): pa ...
- python函数的传参模式
python里的变量更像是一个名字.标签.而Python中一切又皆为对象. 当函数传参时,函数参数作为一个标签,指向某个对象,因此更贴切的说是"call by object". 但 ...
- 教你函数如何传参更加方便 ----python 传参 *args **kwargs
*args 和 **kwargs 可以将不定数量的参数传递给函数 *args 和 **kwargs,前者适用于 传入非键值对的可变数量的参数列表,后者适用于 传入不定长度的键值对, 作为参数传递给函 ...
- python之函数的传参形参的第三种动态参数*args和**kwargs
1. 位置/关键字传参的缺点 当给函数传入的参数数目不定时,之前的传参方式解决不了问题. def eat(food1,food2,food3): print(f'我请你吃:{food1},{food2 ...
随机推荐
- kd-tree理论以及在PCL 中的代码的实现(转载)
该文转自:https://www.cnblogs.com/li-yao7758258/p/6437440.html kd-tree理论以及在PCL 中的代码的实现 (小技巧记录:博客园编辑的网页界 ...
- java学习-循环结构-查找算法-顺序查找
今天回顾了简单算法,顺序查找.发现了数组出现重复数字,无法输出第二个位置就跳出循环了. 利用所学知识解决了.放上代码,同时在代码里给大家分享思路. 欢迎大神教导,欢迎指正. ; System.out. ...
- c++中的全排列
next_permutation函数 组合数学中经常用到排列,这里介绍一个计算序列全排列的函数:next_permutation(start,end),和prev_permutation(start, ...
- 水费管理系统-ER图和流程图
ER图:
- P1071 小赌怡情
P1071 小赌怡情 转跳点:
- day02-Python运维开发基础
1. Number 数据类型 2. 容器数据类型-字符串 """ 语法: "字符串" % (值1,值2 ... ) 占位符: %d 整型占位符 %f ...
- C++面试常见问题——14内存管理
内存管理 内存管理由三种方式: 自动存储 静态存储 动态存储 自动存储 对于函数的形参.函数内部变量.和结构体变量等,编译器在函数运行过程中在栈中自动对其分配内存,调用结束后对其进行销毁.变量的声明周 ...
- ROS大型工程学习(四)一键安装所有缺失的依赖!!!
在正文之前,我必须向rosdep道个歉,前面那篇常用命令行中没有它的位置,现在单独写一篇补充!! 突然发现rosdep有个惊人的功能, rosdep install --from-paths src ...
- loadBeanDefinitions方法源码跟踪(一)
看这篇文章之前可以先了解之前的跟踪流程,https://www.jianshu.com/p/4934233f0ead 代码过宽,可以shift + 鼠标滚轮 左右滑动查看 AbstractBeanDe ...
- R 正态性检验:正态概率图
检验模型是否满足正态性假设的方法: 1.正态概率图 这是我编写的画正态概率图的函数: #绘制正态概率图 plot_ZP = function(ti) #输入外部学生化残差 { n = length(t ...