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

pytest.mark简介

pytest.mark 是 pytest 框架中的一个功能,它允许你标记测试函数或类,这样你就可以在运行测试时选择性地执行它们。使用标记,你可以实现以下功能:

  1. 条件执行:你可以根据标记来决定哪些测试应该被执行。
  2. 分组:可以将测试分为不同的组,比如按功能、重要性或速度分组。
  3. 参数化:可以使用 pytest.mark.parametrize 装饰器来为测试函数提供多个参数集。
  4. 跳过测试:使用 pytest.mark.skip 或 pytest.mark.skipif 可以跳过某些测试。
  5. 预计失败:使用 pytest.mark.xfail 可以标记预计会失败的测试。

以下是一些 pytest.mark 的常见用法:

跳过测试

import pytest@pytest.mark.skip(reason="not implemented yet")
def test_feature_not_implemented():...

条件性跳过

import pytest@pytest.mark.skipif(sys.platform == 'win32', reason="does not run on Windows")
def test_linux_only_feature():...

预计失败

python

import pytest@pytest.mark.xfail(reason="bug 123")
def test_feature_with_bug():...

参数化测试

import pytest@pytest.mark.parametrize("input,expected", [("3+5", 8), ("2+4", 6)])
def test_add(input, expected):assert eval(input) == expected

选择性执行

假设你有一个标记 smoke,你可以通过命令行运行所有带有这个标记的测试:

pytest -m smoke

标记测试函数:

@pytest.mark.smoke
def test_important_feature():...

通过这种方式,pytest.mark 提供了强大的测试组织和管理能力,使得测试更加灵活和可控。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • RabbitMQ中的死信交换机?(RabbitMQ延迟队列有了解过吗)
  • [Labview] 表格改值后单元格编辑功能,更改颜色、字体、颜色等
  • sqli-labs靶场通关攻略(五十一到五十六关)
  • 数据线性结构
  • Notepad++回车不自动补全
  • opencv之形态学
  • flutter 类似Android 中RelativeLayout在末尾居中
  • Golang | Leetcode Golang题解之第386题字典序排数
  • STM32(八):定时器——输入捕获实验
  • [译] APT分析报告:12.APT29利用spy软件供应商创建的IOS、Chrome漏洞
  • VSCode+debugpy远程调试
  • 第六课,模运算进阶,计算机存储单位
  • 2024HarmonyOS应用开发者高级认证最新整理题库和答案(已收录182道 )
  • WiFi标签注册(电脑版)
  • Loki Unable to fetch labels from Loki (no org id)
  • SegmentFault for Android 3.0 发布
  • $translatePartialLoader加载失败及解决方式
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • codis proxy处理流程
  • Cumulo 的 ClojureScript 模块已经成型
  • express + mock 让前后台并行开发
  • Git同步原始仓库到Fork仓库中
  • golang中接口赋值与方法集
  • iOS | NSProxy
  • Java 最常见的 200+ 面试题:面试必备
  • JavaScript 基本功--面试宝典
  • Java多态
  • Netty源码解析1-Buffer
  • PHP CLI应用的调试原理
  • PHP 小技巧
  • select2 取值 遍历 设置默认值
  • 基于遗传算法的优化问题求解
  • 计算机常识 - 收藏集 - 掘金
  • 那些年我们用过的显示性能指标
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 什么是Javascript函数节流?
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 微服务框架lagom
  • 在weex里面使用chart图表
  • 终端用户监控:真实用户监控还是模拟监控?
  • 正则表达式-基础知识Review
  • #{}和${}的区别?
  • (2)空速传感器
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (pytorch进阶之路)扩散概率模型
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (zhuan) 一些RL的文献(及笔记)
  • (二开)Flink 修改源码拓展 SQL 语法
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (四)模仿学习-完成后台管理页面查询
  • (一)python发送HTTP 请求的两种方式(get和post )