pytest parametrize 使用总结
1.前言
Pytest中装饰器@pytest.mark.parametrize('参数名',list)可以实现测试用例参数化,类似DDT。
如:@pytest.mark.parametrize('请求方式,接口地址,传参,预期结果',[('get','www.baidu.com','{"page":1}','{"code":0,"msg":"成功"})',('post','www.baidu.com','{"page":2}','{"code":0,"msg":"成功"}')])
2.参数说明:
@pytest.mark.parametrize('参数名',list)
(1)第一个参数是字符串,多个参数中间用逗号隔开
(2)第二个参数是list,多组数据用元祖类型;传三个或更多参数也是这样传。list的每个元素都是一个元组,元组里的每个元素和按参数顺序一一对应
(3)传一个参数 @pytest.mark.parametrize('参数名',list) 进行参数化
(4)传两个参数@pytest.mark.parametrize('参数名1,参数名2',[(参数1_data[0], 参数2_data[0]),(参数1_data[1], 参数2_data[1])]) 进行参数化
3.使用方法
3.1单参数单值、多值
如果list列表内容是字典的话,可以直接将字典传入,如下所示:
3.2 多参数多值
部分内容摘自:
https://blog.csdn.net/qq_41767116/article/details/114643814
本文来自博客园,作者:别摸我的马甲线,转载请注明原文链接:https://www.cnblogs.com/a-wyw/p/16202198.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通