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

Pytest的参数化测试

概念

Pytest中有一个装饰器,可以通过它来实现,多组输入数据驱动同一测试逻辑‌,避免重复编写相似的测试代码,提高测试覆盖率和代码简洁性
这个就是@pytest.mark.parametrize

一、基础用法

import pytest

@pytest.mark.parametrize("参数名", 数据集合)
def test_name(参数名):
    # 测试逻辑

以上是一个简易的demo结构,在@pytest.mark.parametrize中写入参数名以及对应的数据集合后,会在test_name这个函数里进行执行。

  • 参数名:字符串形式,多个参数用逗号分隔(如 “a,b”)
  • 数据集合:可迭代对象(列表、元组等),每个元素为一组测试数据

二、参数化使用场景

场景1:单参数多值场景

需求:验证字符串转换int类型是否符合期待值

@pytest.mark.parametrize("input_str, expected", [
    ("123", 123), 
    ("-5", -5), 
    ("0", 0),
    ("abc", pytest.raises(ValueError))  # 验证异常
])
def test_string_to_int(input_str, expected):
    if isinstance(expected, int):
        as

http://www.kler.cn/a/599903.html

相关文章:

  • 23 种设计模式中的模板模式
  • 穿越之程序员周树人的狂人日记Part3__人机共生纪元
  • 淘宝API关键词接口详解(实战案例)
  • Android 13组合键截屏功能的彻底移除实战
  • IDI_APPLICATION 与 IDC_ARROW资源存放在工程的哪个路径?
  • 基于简单神经网络的线性回归
  • F#语言的游戏优化
  • Stable Diffusion教程:图生图_stable diffusion 图生图
  • vue 事件修饰符
  • 【cuda学习日记】8.2 GPU加速库 --cuBLAS
  • 初始OpenCV
  • C#中值类型与引用类型是直观使用示例
  • 使用腾讯云大模型知识引擎×DeepSeek打造自己的私人家教
  • leetcode 2255. 统计是给定字符串前缀的字符串数目 简单
  • requestAnimationFrame和requestIdleCallback分别是什么,是用在什么场景下
  • 【Dive Into Stable Diffusion v3.5】2:Stable Diffusion v3.5原理介绍
  • 《基于Python+web的家具消费数据的数据分析与应用》开题报告
  • 纯vue手写流程组件
  • 代码随想录算法训练营第四十一天|买卖股票专题:121. 买卖股票的最佳时机、122.买卖股票的最佳时机II、123.买卖股票的最佳时机III
  • ZLinq:意在替代Linq的高性能.Net开源库