当前位置: 首页 > news >正文

Pytest 参数化进阶:掌握 parametrize 的多种用法

概述

在自动化测试中,@pytest.mark.parametrize 不仅仅能用来为测试函数提供多组输入数据,还能配合其他功能实现更复杂的测试逻辑。本文将带你深入了解 @pytest.mark.parametrize 的多种常见用法,助你在不同场景下写出更高效、更清晰的测试代码

基础用法回顾:单个参数化

这是最常见的用法,用于为测试函数传入多组参数。
可参考前面的讲解:Pytest中的参数化测试:提升效率的利器

import pytest@pytest.mark.parametrize("a, b, expected", [(2, 3, 5),(-1, 1, 0),(0, 0, 0)
])
def test_add(a, b, expected):assert a + b == expected

高级用法

嵌套参数化(多个参数标记)

如果你希望对多个维度进行组合测试,可以使用 多个 parametrize 装饰器,Pytest 会自动进行笛卡尔积组合。

import pytest@pytest.mark.parametrize("a", [1, 2])
@pytest.mark.parametrize("b", [3, 4])
def test_nested_parametrize(a, b):print(f"a={a}, b={b}")assert a + b > 0

这会生成 2 × 2 = 4 个测试用例:

test_nested_parametrize[a=1-b=3]
test_nested_parametrize[a=1-b=4]
test_
http://www.dtcms.com/a/300450.html

相关文章:

  • HCIP---MGRE实验
  • 嵌入式硬件篇---ESP32稳压板
  • OpenLayers 综合案例-轨迹回放
  • LeetCode|Day27|70. 爬楼梯|Python刷题笔记
  • catkin_make与catkin build的关系与区别(使用catkin build的好处)
  • MGRE实验
  • 深入解析 Vue 3 中 v-model 与表单元素的绑定机制
  • 多租户Kubernetes集群架构设计实践——隔离、安全与弹性扩缩容
  • Spring Boot自动配置原理深度解析
  • 昇思学习营-模型推理和性能优化
  • Keepalived + LVS-DR 高可用与负载均衡实验
  • 【Python系列】使用 memory_profiler 诊断 Flask 应用内存问题
  • 结构化文本文档的内容抽取与版本重构策略
  • 8. 状态模式
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 微博舆情分析实现
  • vLLM 的“投机取巧”:Speculative Decoding 如何加速大语言模型推理
  • Spring Boot2错误处理
  • 负载均衡 LoadBalance
  • Spring Boot音乐服务器项目-查询音乐模块
  • 《Foundation 面板:设计、功能与最佳实践解析》
  • Java学习-------序列化与反序列化
  • UV: 下一代 Python 包管理工具
  • golang--虚拟地址空间
  • 阿里 Qwen3 四模型齐发,字节 Coze 全面开源,GPT-5 8 月初发布!| AI Weekly 7.21-7.27
  • 批量重命名带编号工具,附免费地址
  • Android网络框架封装 ---> Retrofit + OkHttp + 协程 + LiveData + 断点续传 + 多线程下载 + 进度框交互
  • linux根据pid获取服务目录
  • 一场关于电商零售增长破局的深圳探索
  • Vulnhub red靶机渗透攻略详解
  • PHP框架之Laravel框架教程:2. 控制器、路由、视图简单介绍