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 ...
随机推荐
- CPU温度问题
台式机和笔记本的CPU温度多少合适,过高会怎样, cpu温度跟环境温度有很大关系,夏天的时候会高一点的.一般CPU空闲的时候温度在50°以内,较忙时65°以内,全速工作时75°以内都是正常的,所以我们 ...
- ML面试题网站及ML模型网站
一.面试题网站 1)最全:http://www.epx365.cn/jyzn/201839501.html 2)七月在线:https://blog.csdn.net/movie14/article/d ...
- Nginx使用Location匹配URL进行伪静态
基础知识 Nginx location 配置语法 1. location [ = | ~ | ~* | ^~ ] uri { ... } 2. location @name { ... } locat ...
- 面向对象【day07】:新式类和经典类(八)
本节内容 1.概述 2.类的多继承 3.经典类VS新式类 4.总结 一.概述 在python还支持多继承,但是一般我们很少用,有些语言干脆就不支持多继承,有多继承,就会带来两个概念,经典类和新式类,下 ...
- JAVA记录-异常基本概念
1.异常分类 2.错误和异常的区别 3.try-catch-xxx处理方式 Java Exception:1.Error 2.Runtime Exception 运行时异常3.Exception 4. ...
- jmeter使用正则表达式匹配多个中的响应结果
一.背景: 同一个正则表达式匹配多个响应结果值,之前都是添加多个正则表达式,一个一个去获取需要的值,比较麻烦:今天尝试了一下用一个正则表达式获取响应中所有需要的值,使用这种方式也能够获取多个结果中指定 ...
- Spring RedisTemplate操作-序列化性能测试(12)
@Autowired @Qualifier("redisTemplate") private RedisTemplate<String, String> stringr ...
- Dojo框架:误解与现实[转载]
随着Ajax技术的流行,越来越多的Web应用使用Ajax技术来提高用户体验.使用Ajax技术的一个重要优势是不需要额外的浏览器插件支持,只需要使用浏览器原生的API,并利用JavaScript来操作即 ...
- tensorflow神经网络拟合非线性函数与操作指南
本实验通过建立一个含有两个隐含层的BP神经网络,拟合具有二次函数非线性关系的方程,并通过可视化展现学习到的拟合曲线,同时随机给定输入值,输出预测值,最后给出一些关键的提示. 源代码如下: # -*- ...
- CF448C Painting Fence (贪心分治)
题面 \(solution:\) 一道蛮水的分治题,但思想很不错(虽然我还是非常天真的以为是积木大赛原题,并且居然还有30分) 看到这个题目,根据贪心的一贯风格,我们肯定能想到将整个栅栏的下面某部分直 ...