pytest六:parametrize-参数化
pytest.mark.parametrize 装饰器可以实现测试用例参数化。 1.这里是一个实现检查一定的输入和期望输出测试功能的典型例子


import pytest
@pytest.mark.parametrize('test_input,expected',
                         [('3+5', 8),
                          ('2+4', 6),
                          ('6*9', 42)]
                        )
def test_eval(test_input, expected):
    assert eval(test_input) == expected
if __name__=='__main__':
    pytest.main()
2.它也可以标记单个测试实例在参数化,例如使用内置的mark.xfail


标记为失败的用例就不运行了,直接跳过显示 xfailed
import pytest
@pytest.mark.parametrize('test_input,expected',
                         [('3+5', 8),
                          ('2+4', 6),
                          pytest.param('6*9', 42, marks=pytest.mark.xfail)]
                        )
def test_eval(test_input, expected):
    print('\n==========开始执行用例==========')
    assert eval(test_input) == expected
if __name__=='__main__':
    pytest.main()
参数组合
1.若要获得多个参数化参数的所有组合,可以堆叠参数化装饰器


这将运行测试,参数设置为 x=0/y=2,x=1/y=2,x=0/y=3,x=1/y=3 组合参数。
import pytest
@pytest.mark.parametrize('x', [0, 1])
@pytest.mark.parametrize('y', [2, 3]) def test_foo(x, y):
print(f'\n测试数据组合:x->{x}, y->{y}') if __name__=='__main__':
pytest.main()
pytest六:parametrize-参数化的更多相关文章
- pytest.mark.parametrize()参数化应用二,读取json文件
		class TestEnorll(): def get_data(self): """ 读取json文件 :return: """ data ... 
- pytest.mark.parametrize()参数化的应用一
		from page.LoginPage import Loginpage import os, sys, pytest base_dir = os.path.dirname(os.path.dirna ... 
- pytest自动化6:pytest.mark.parametrize装饰器--测试用例参数化
		前言:pytest.mark.parametrize装饰器可以实现测试用例参数化. parametrizing 1. 下面是一个简单是实例,检查一定的输入和期望输出测试功能的典型例子 2. 标记单 ... 
- Pytest系列(9) - 参数化@pytest.mark.parametrize
		如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest允许在多个级别启 ... 
- Pytest(8)parametrize参数化
		前言 当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化. 官方示 ... 
- Pytest单元测试框架之parametrize参数化
		1.参数化的本质:相同的步骤,但测试数据不同,比如登录的场景 import mathimport pytest# 方式一:分离出Listdef list_Test(): list = [ [2, 2, ... 
- pytest.6.Parametrize Fixture
		From: http://www.testclass.net/pytest/parametrizing_fixture/ 背景 @pytest.mark.parametrize 装饰器可以让我们每次参 ... 
- Pytest进阶之参数化
		前言 unittest单元测试框架使用DDT进行数据驱动测试,那么身为功能更加强大且更加灵活的Pytest框架怎么可能没有数据驱动的概念呢?其实Pytest是使用@pytest.mark.parame ... 
- 11、pytest -- 测试的参数化
		目录 1. @pytest.mark.parametrize标记 1.1. empty_parameter_set_mark选项 1.2. 多个标记组合 1.3. 标记测试模块 2. pytest_g ... 
随机推荐
- GO语言的进阶之路-goroutine(并发)
			GO语言的进阶之路-goroutine(并发) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 有人把Go比作21世纪的C 语言,第一是因为 Go语言设计简单,第二,21世纪最重要的 ... 
- 跨iOS SDK版本编译问题
			iOS开发时会考虑两种SDK版本兼容性:一个是运行时SDK版本的兼容,即已构建/已发布的APP能在不同系统版本的用户手机上正常运行:一个是编译时SDK版本的兼容,即使用不同版本的SDK编译项目都能正常 ... 
- mySQL数值类型的取值范围
			如下图,int最大为2145483647,手机号码应该用bigint 
- idea常用快捷键及自定义快捷键汇总
			以下都是挨个进行验证过的 生成get和set方法为:alt+insert 自动补全返回值,自动补全变量名称和属性名称:ctrl+alt+v 输入System.out.println()的快捷方法是:输 ... 
- node版本管理工具nvm安装以及使用
			curl命令安装 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash 或者 使用wg ... 
- 洛谷4718【模板】Pollard-Rho算法
			传送门 Description: 给定T个数,分别求出它们的最大质因数 Solution: 其实大概框架是很容易想到的 对于一个数n 找到它的一个因数x 判断这个因数是不是质数 如果是质数就更新答案 ... 
- NOIP2016 D2-T3 愤怒的小鸟
			看了题解之后知道,是状压dp. 一.首先预处理一个$2^n$次方的fpow[]数组 fpow[]=; ;i<=;i++)fpow[i]=(fpow[i-]<<); 二.然后预处理一个 ... 
- linux查看操作系统的版本
			内核信息 uname -a localhost.localdomain:所在主机的主机名,与主机配置文件/etc/hosts内容一致 2.4.20-8#1:内核版本号 Thu Mar 13 17:18 ... 
- WEBSHELL恶意代码批量提取清除工具
			场景 使用D盾扫描到WEBSHELL后可以导出有路径的文本文件. 最后手动去把WEBSHELL复制到桌面然后以文件路径命名,挨个删除. D盾界面是这样的. 手动一个个找WEBSHELL并且改名效率太低 ... 
- OpenCV:Debug和Release模式 && 静态和动态编译
			1.Release和Debug的区别 Release版称为发行版,Debug版称为调试版. Debug中可以单步执行.跟踪等功能,但生成的可执行文件比较大,代码运行速度较慢.Release版运行速度较 ... 
