pytest使用@pytest.mark.parametrize()实现参数化的示例代码
目录
- 1.方法详情:
- 2.使用方法
- 2.1.一个列表中一个参数多个值
- 2.2.多参数多值
- 2.3.多个参数混合使用
- 2.4.传入字典数据
1.方法详情: parametrize(argnames,argvalues,indirect=False,ids=None,scope=None)
常用参数:
argnames:参数名
argvalues:参数值(可以为list和tuple,或者字典列表,字典元组等),参数值有N个,用例就会执行N次。
2.使用方法
2.1.一个列表中一个参数多个值
示例代码:
data_list1 = ['data1', 'data2', 'data3', 'data4']@pytest.mark.parametrize('data', data_list1)def test_01(data):print(data)
运行结果:
文章图片
2.2.多参数多值
示例代码:
data_list2 = [('zhang1', '123456'), ('zhang2', '654321'), ('zhang3', '456789')]@pytest.mark.parametrize('username, pwd', data_list2)def test_02(username, pwd):print(username + ':' + pwd)
【pytest使用@pytest.mark.parametrize()实现参数化的示例代码】运行结果:
文章图片
2.3.多个参数混合使用
示例代码:
data_list3 = ['zhang', 'li']data_list4 = ['wang', 'liu']data_list5 = ['zhao', 'qian']@pytest.mark.parametrize('a', data_list3)@pytest.mark.parametrize('b', data_list4)@pytest.mark.parametrize('c', data_list5)def test_03(a, b, c):print('组合后的结果为', {a}, {b}, {c})
2.4.传入字典数据
示例代码:
dict_data = https://www.it610.com/article/({'username': 'zhang', 'password': '123456'}, {'username': 'li', 'password': '654321'})@pytest.mark.parametrize('data', dict_data)def test_04(data):print(data.get('username') + ':' + data.get('password'))# print(data['username'] + ':' + data['password'])
运行结果:
文章图片
到此这篇关于pytest使用@pytest.mark.parametrize()实现参数化的文章就介绍到这了,更多相关pytest参数化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 移动端使用pdfjs-dist来预览pdf文件的一些坑
- 机器学习|Google Colab装载Google Drive(Google Colab中使用Google Drive)
- 机器学习|TensorBoard快速入门(Pytorch使用TensorBoard)
- Cpp(迭代器iterator)
- 小熊派gd32f303学习之旅(5)—使用DMA和空闲中断实现串口接收
- vue如何使用vant组件的field组件disabled修改默认样式
- redis|redis 分片集群搭建与使用
- 技术总结|linux grep命令使用详解
- 技术总结|jdk动态代理使用详解
- linux中的sed用法,Linux下的sed命令使用详解