pytest钩子函数-pytest_runtest_logreport提取测试用例相关信息

本文主要是介绍pytest钩子函数-pytest_runtest_logreport提取测试用例相关信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题:想在每个日志中记录测试用例开始结束时间,获取到测试用例的名称。
解决办法:使用钩子pytest_runtest_logreport

pytest中,想要在conftest.py文件中获取正在运行的测试用例的名称,可以使用pytest_runtest_logreport钩子函数。这个钩子函数会在每个测试用例运行之后被调用,并且提供了一个报告对象,其中包含了关于测试用例的各种信息,包括它的名称。

下面是一个如何在conftest.py中使用pytest_runtest_logreport钩子函数来获取并打印正在运行的测试用例名称的示例:

# conftest.pydef pytest_runtest_logreport(report):if report.passed:print(f"测试用例 {report.nodeid} 执行成功")else:print(f"测试用例 {report.nodeid} 执行失败")

在上面的代码中,report.nodeid是测试用例的唯一标识符,它通常包含了测试文件的路径、文件名、测试函数名以及任何参数化信息。如果只关心测试函数的名称,您可以使用report.nodeid.split('::')[-1]来获取它。

例如,如果想要仅打印测试函数的名称,可以这样做:

# conftest.pydef pytest_runtest_logreport(report):test_name = report.nodeid.split('::')[-1]if report.passed:print(f"开始执行测试用例: {test_name}")else:print(f"测试用例 {test_name} 执行失败")# 在测试用例结束后打印print(f"测试用例 {test_name} 已执行结束")

请注意,pytest_runtest_logreport钩子函数会在每个测试用例运行之后立即调用,包括那些由于某种原因(如前置条件失败)而被跳过的测试用例。因此,如果只想在真正执行的测试用例之后打印信息,可能需要检查report.outcome属性来确定测试用例的状态。

另外,这种方法打印的信息可能会在测试摘要和其他输出中混合,如果想要更精细地控制输出格式或位置,可能需要使用其他钩子函数或插件功能。
在这里插入图片描述
在控制台加了这个钩子后,可以很明显看出哪个用例失败了
在这里插入图片描述

这篇关于pytest钩子函数-pytest_runtest_logreport提取测试用例相关信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/747930

相关文章

MySQL count()聚合函数详解

《MySQLcount()聚合函数详解》MySQL中的COUNT()函数,它是SQL中最常用的聚合函数之一,用于计算表中符合特定条件的行数,本文给大家介绍MySQLcount()聚合函数,感兴趣的朋... 目录核心功能语法形式重要特性与行为如何选择使用哪种形式?总结深入剖析一下 mysql 中的 COUNT

MySQL 中 ROW_NUMBER() 函数最佳实践

《MySQL中ROW_NUMBER()函数最佳实践》MySQL中ROW_NUMBER()函数,作为窗口函数为每行分配唯一连续序号,区别于RANK()和DENSE_RANK(),特别适合分页、去重... 目录mysql 中 ROW_NUMBER() 函数详解一、基础语法二、核心特点三、典型应用场景1. 数据分

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

Python get()函数用法案例详解

《Pythonget()函数用法案例详解》在Python中,get()是字典(dict)类型的内置方法,用于安全地获取字典中指定键对应的值,它的核心作用是避免因访问不存在的键而引发KeyError错... 目录简介基本语法一、用法二、案例:安全访问未知键三、案例:配置参数默认值简介python是一种高级编

python 常见数学公式函数使用详解(最新推荐)

《python常见数学公式函数使用详解(最新推荐)》文章介绍了Python的数学计算工具,涵盖内置函数、math/cmath标准库及numpy/scipy/sympy第三方库,支持从基础算术到复杂数... 目录python 数学公式与函数大全1. 基本数学运算1.1 算术运算1.2 分数与小数2. 数学函数

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字