Pytest - 参数化
一、代码示例
import pytest '''装饰测试类: 适用场景:登录框的多种情况组合测试。比如账号空、密码空、账号密码都为空,可以用参数化方式处理''' @pytest.mark.parametrize("test_input,expected", [("3+5", 8), ("2+4", 6), ("6*9", 42)]) def test_eval(test_input, expected): print(f"测试数据{test_input},期望结果{expected}") assert eval(test_input) == expected '''“笛卡尔积”,多个参数化装饰器: 当装饰器 @pytest.mark.parametrize 装饰测试类时,会将数据集合传递给类的所有测试用例方法,“笛卡尔积”,多个参数化装饰器''' #笛卡尔积,组合数据 data_1 = [1,2,3] data_2=['a','b'] @pytest.mark.parametrize('test1',data_1) @pytest.mark.parametrize('test2',data_2) def test_parametrize_1(test1,test2): print(f'笛卡尔积 测试数据为:{test1},{test2}') '''参数化 ,传入字典数据''' dic_1=( { "user":"admin", "pwd":123456 }, { "user": "test", "pwd": 123 } ) @pytest.mark.parametrize("dic",dic_1) def test_parametrize_2(dic): print(f"测试数据为\n{dic}")
二、执行结果图
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)