20、pytest中的参数化

官方实例

# content of test_expectation.pyimport pytest@pytest.mark.parametrize("test_input, expected",[("3+5",8),("2+4",6),("6*9",42)])
def test_eval(test_input, expected):assert eval(test_input) == expected
# content of test_expectation_class
import pytest@pytest.mark.parametrize("n, expected",[(1,2),(3,4)])
class TestClass:def test_simple_case(self, n, expected):assert n + 1 == expecteddef test_weird_simple_case(self, n, expected):assert (n * 1) + 1 == expected
# content of test_parametrize_glob.py
import pytestpytestmark = pytest.mark.parametrize("n,expected",[(1,2),(3,4)])class TestClass:def test_simple_case(self, n, expected):assert n + 1 == expecteddef test_weird_simple_case(self, n, expected):assert (n * 1) + 1 == expected

解读与实操

内置的pytest.mark.parametrize装饰器允许对测试函数的参数进行参数化。

注意:参数值按原样传递给测试(没有任何副本),例如,如果你传递一个列表或字典作为参数值,并且测试用例代码对它进行了修改,那么这些修改将在随后的测试用例调用中反映出来。

在这里插入图片描述

请注意,你也可以在类或模块上使用参数化标记,类中的函数将调用带有参数集内容。

在这里插入图片描述

要将模块中的所有测试参数化,可以将其赋值给pytestmark全局变量。

在这里插入图片描述

场景应用

测试函数相同,只是传入参数不同,就可以用这种方法扩展测试用例。特别是针对列表的搜索功能,同一个搜索函数,但是存在多个搜索项。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/200555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【UE】在场景中或控件蓝图上显示移动的文字

目录 效果 步骤 一、制作含有文字的图片 二、在场景中显示移动的文字 三、在控件蓝图上显示 效果 步骤 一、制作含有文字的图片 打开PS,新建一个宽度为600,高度为50的文档 添加一段文字 保存 二、在场景中显示移动的文字 1. 打开UE编辑器&#x…

error: identifier “__builtin_is_constant_evaluated“ is undefined

如题,配置CUDA相关编译报错如下: /usr/include/c/9/bits/stl_function.h(437): error: identifier "__builtin_is_constant_evaluated" is undefined 原因:gcc版本过高,当前是gcc-9, 需要降级为gcc-8, 或者…

nodejs+vue+微信小程序+python+PHP在线购票系统的设计与实现-计算机毕业设计推荐

伴随着信息时代的到来,以及不断发展起来的微电子技术,这些都为在线购票带来了很好的发展条件。同时,在线购票的范围不断增大,这就需要有一种既能使用又能使用的、便于使用的、便于使用的系统来对其进行管理。在目前这种大环境下&a…

[LeetCode] 12. 整数转罗马数字

12. 整数转罗马数字 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 …

高防IP是什么? 防护CC 对抗DDOS

什么是DDoS高防IP? DDoS(分布式拒绝服务)攻击是指攻击者通过利用大量恶意流量向目标服务器发送请求,导致目标服务器无法正常处理合法用户的请求。DDoS高防IP是一种通过技术手段来应对DDoS攻击的解决方案。它能够过滤掉恶意流量&a…

【微软技术栈】与其他.NET语言的互操作性 (C++/CLI)

本文内容 使用 C# 索引器实现 C# 的 is 和 as 关键字实现 C# 的 lock 关键字 本节中的主题介绍如何在 Visual C 中创建程序集,这些程序集使用或提供以 C# 或 Visual Basic 编写的程序集的功能。 1、使用 C# 索引器 Visual C 不包含索引器;它具有索引…

4、RocketMQ中Producer的启动(四)

在NameServer与Broker启动之后,我们就可以来创建Producer进行生产消息,客户端常用的生产类是DefaultMQProducer,我们启动消费者其实就是调用该类的start方法。 初始化逻辑 通过构建一起DefaultMQProducer类来实现初始化,查看源码…

测试---UI自动化测试介绍

1、什么是自动化测试 概念:由程序代替人工进行系统校验的过程。--------计算机自己执行,好比手机上安装一个软件软件微信,抖音,微博之类的,在应用商城里面,下载对应app后,手机系统程序会自动安…

15.(vue3.x+vite)组件间通信方式之默认插槽(匿名插槽)

前端技术社区总目录(订阅之前请先查看该博客) 示例效果 默认插槽(匿名插槽) 插槽 slot 通常用于两个父子组件之间,最常见的应用就是我们使用一些 UI 组件库中的弹窗组件时,弹窗组件的内容是可以让我们自定义的,这就是使用了插槽的原理。 (1)slot 是 Vue中的内置标签…

认识 Redis - Redis 的安装与下载

Redis 从今天开始,我们迎接一个全新的专栏 - Redis 专栏。 相信我们在日常的学习中,肯定也是对 Redis 早有耳闻,今天我们还是先来了解一下 Redis 是什么?以及 Redis 应该怎么使用?… 1. Redis 是什么? …

uni-app 微信小程序之swiper轮播图

1. 实现效果 2. 完成代码 <template><view class"components-home"><view style"margin-top:-50rpx;height: 486rpx; position: relative;margin-bottom: 80rpx;"><image srchttps://xxx.com/img/wccQQP.png modewidthFix classpng …

精密基准电路WL431 输出电压可设定 响应速度快 可应用于电脑主板等产品上

WL431为三端可调节精密基准源。通过两个外接电阻&#xff0c;输出电压可在Vref约2.5 V )到36V连续调节。该电路输出阻抗小(0.2Q)。 开启特性好&#xff0c;在许多应用场合&#xff0c;它能较好地替换齐纳极管。 主要特点&#xff1a;● 温度系数 50pmC ● 在…

unity 2d入门飞翔小鸟按钮点击功能且场景切换(二)

1、素材包获取 链接: https://pan.baidu.com/s/1KgCtQ_7wt2mlbGbIaMVvmw 提取码: xxh8 2、将素材全部拉进去 3、创建新的场景 并且将场景添加到build settings里面 4、脚本 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityE…

用C语言实现单链表

接下来&#xff0c;我们将使用C语言实现无头节点的单链表。 头文件&#xff1a; #pragma once #include <stdio.h> #include <assert.h> #include <stdlib.h>typedef int SLTDateType;typedef struct SListNode {SLTDateType data;struct SListNode* next;…

Vue阶段笔记(有js包)

目录 1.要先上传Vue的js包&#xff0c;包的路径在这&#xff1a; 2.获取 3.定义Vue接管的区域和他所要实现的内容 #整体代码如下&#xff1a; Vue的指令(被绑定得必须有声明) #v-bind #v-model #v-on #V-ifV-else-ifV-elseV-show #v-show #v-for 1.要先上传Vue的js包&…

WordPiece词表的创建

文章目录 一、简单介绍二、步骤流程2.1 预处理2.2 计数2.3 分割2.4 添加subword 三、代码实现 本篇内容主要介绍如何根据提供的文本内容创建 WordPiece vocabulary&#xff0c;代码来自谷歌&#xff1b; 一、简单介绍 wordpiece的目的是&#xff1a;通过考虑单词内部构造&…

人工智能-语音识别技术paddlespeech的搭建和使用

PaddleSpeech 介绍 PaddleSpeech是百度飞桨&#xff08;PaddlePaddle&#xff09;开源深度学习平台的其中一个项目&#xff0c;它基于飞桨的语音方向模型库&#xff0c;用于语音和音频中的各种关键任务的开发&#xff0c;包含大量基于深度学习前沿和有影响力的模型。PaddleSpe…

MQTT保留消息与遗嘱消息理解和应用

保留消息 每个主题只能存储一条保留消息 Retain As Published Retain As Published 0 转发时清除Retain标识Retain As Published 1 转发时保留原始Retain标识Retain Handling Retain handling 0 订阅建立时发送保留消息Retain handling 1 订阅建立时&#xff0c;若该订阅…

FL Studio中如何录音的技巧,让你的声音更加出众哦!

​ Hey小伙伴们&#xff01;今天我要和大家分享一下在FL Studio中如何录音的技巧&#xff0c;让你的声音更加出众哦&#xff01; 编曲软件FL Studio 即“Fruity Loops Studio ”&#xff0c;也就是众所熟知的水果软件&#xff0c; 全能音乐制作环境或数字音频工作站&#xff0…

nodejs+vue+ElementUi酒店餐饮客房点餐管理系统

系统非功能需求&#xff0c;只能是为了满足客户需求之外的非功能性要求。系统需要具有数据完整性验证的功能&#xff0c;对界面上非法的数据和不完整的数据进行提示&#xff0c;不能直接保存到数据库中&#xff0c;造成不完整性因素。运行软件:vscode 前端nodejsvueElementUi 语…