Pytest测试框架(10):pytest_参数化@pytest.mark.parametrize()
使用@pytest.mark.parametrize()做参数化
fixture中的params也可以做参数化;参考地址:https://www.cnblogs.com/YouJeffrey/p/15414578.html
@pytest.mark.parametrize(args_name,args_value)
args_name:参数名,字符串,多个参数中间用逗号隔开
args_value:参数值(列表,元组,字典列表,字典元组),有多个值用例就会执行多少次,是list,多组数据用元祖类型;传三个或更多参数也是这样传。list的每个元素都是一个元组,元组里的每个元素和按参数顺序一一对应
例如:
1、传一个参数 @pytest.mark.parametrize('参数名',list) 进行参数化
2、传两个参数@pytest.mark.parametrize('参数名1,参数名2',[(参数1_data[0], 参数2_data[0]),(参数1_data[1], 参数2_data[1])]) 进行参数化
代码示例:
import pytest class TestApi(): @pytest.mark.parametrize("test_input", ["zhansan","wangwu","zhaoliu"]) def test_02(self,test_input): print("-----"+str(test_input),"-----") @pytest.mark.parametrize("test_input,result", [("2+5",7),("3+3",6),("4+5",9)]) def test_03(self,test_input,result): print(test_input+"="+str(result)) if __name__ == '__main__': pytest.main(["-vs"])
查看执行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!