让你的pytest日志更有序:配置和使用技巧

news2024/9/22 1:22:10

简介:pytest是一个成熟的全功能的Python测试工具,它覆盖了所有大小和级别的测试需求。从简单的单元测试到复杂的功能测试,都能得心应手。本文将重点介绍如何配置pytest以捕获和存储日志,让你的测试日志更有序。

历史攻略:

pytest+allure安装和使用

pytest:并行和并发运行用例

优势:

  • 灵活的日志配置: pytest允许你通过配置文件或命令行选项来灵活地配置日志捕获的行为,可以随时开启或关闭日志,也可以设定日志级别。
  • 智能的日志显示:pytest只在测试失败时显示日志,避免了日志信息的过度泛滥,让你可以专注于解决问题。
  • 日志存储:结合Python的logging模块,你可以轻松地将日志信息存储到文件中,方便后续分析。

安装:

pip install pytest

案例源码:

# -*- coding: utf-8 -*-
# time: 2023/06/26 10:35
# file: test_example.py
# 公众号: 玩转测试开发

import logging
import warnings

logging.basicConfig(filename='pytest.log', level=logging.INFO)  # 创建一个日志记录器,将日志信息写入 'pytest.log'


def test_pass():
    logging.info("Starting the test case pass")
    assert 1 == 1
    logging.info("Test passed")


def test_warning():
    logging.warning("Starting the test case warning")
    warnings.warn('logfile argument deprecated', DeprecationWarning)
    assert 1 == 1


def test_error():
    logging.error("Starting the test case error")
    assert 1 == 2

配置文件pytest.ini:

[pytest]
log_cli = true
log_file = pytest.log

现在,无论测试是否通过,日志信息都将被写入到pytest.log文件中。如果某个测试失败,那么失败的测试的日志信息也将显示在控制台上。

运行结果:

pytest test_example.py

图片

运行上述命令后,你会在控制台看到测试的运行结果,如果有测试失败,那么相关的日志信息也会显示出来。同时,所有的日志信息都会被写入到pytest.log文件中。

注意事项:

如果你在测试代码中配置了自己的日志记录器,记得要把logging的级别设置得和pytest的配置文件中的一致,否则可能会出现你的日志没有被捕获的情况。

不要忘记在pytest.ini或pyproject.toml文件中配置log_file,否则日志信息不会被写入文件。

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

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

相关文章

微信小程序页面导航

1.声明式导航 1.1声明式跳转Tab页面 1.1.1配置的Tab页面 1.1.2页面跳转书写 <navigator url"/pages/home/home" open-type"switchTab">跳转首页</navigator> 1.2.3页面展示 1.2声明式跳转到非Tab页面 1.2.1页面跳转代码 <navigator ur…

mediaSoup编译流程(ubuntu20.04不用翻墙,以及踩坑记录)

ubuntu20.04&#xff0c;一定要确保能够ping通github.com因为我们有很多依赖包需要从上面下载 首先安装node.js >16版本 sudo apt-get update curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt-get install -y nodejs 为node换源 查看node…

数学建模—层次分析法

数模算法1&#xff1a;层次分析法 适用问题&#xff1a;评价类问题&#xff0c;决策&#xff08;方案选择类&#xff09; ** input**&#xff1a;判断矩阵&#xff08;A&#xff09; AHP处理 output:权重&#xff08;得分&#xff09;向量 1.整体导图 2.算法步骤及代码 2.1算…

从关键新闻和最新技术看AI行业发展(2023.5.22-6.22第一期) |【WeThinkIn老实人报】

Rocky Ding WeThinkIn 写在前面 【WeThinkIn老实人报】是WeThinkIn的全新栏目&#xff0c;旨在整理&挖掘AI行业的关键新闻和最新技术&#xff0c;同时Rocky会对这些关键信息进行解读&#xff0c;力求让读者们能从容跟随AI科技潮流。也欢迎大家提出宝贵的优化建议&#xff0…

Git:Rebase和Merge之间的区别

一、merge merge的原理是找到这两个分支的祖先commit&#xff0c;在两个分支最新的commit进行三方对比合并 例如下图&#xff0c;共同的祖先commit2,master最新commit6&#xff0c;develop最新commit5&#xff0c;merge会基于2&#xff0c;5&#xff0c;6这三个commit进行对比&…

多模态信息融合研究

1、主要研究方向 多模态学习可以划分为以下五个研究方向&#xff1a; 多模态表示学习 Multimodal Representation&#xff1a;主要研究如何将多模态的数据所蕴含的语义信息通过embedding的方式实现向量化&#xff0c;便于后续的计算&#xff1b; 模态转化 Translation&#…

BN层的参数γ、β以及前、后向传播

γ、β 存在问题 在对输入做完标准化后&#xff0c;可能会出现以下情况&#xff1a;网络中间某一层学习到特征数据本身分布在sigmoid激活函数的两侧&#xff0c;标准化会强制把输入的均值限制为0、标准差限制为1&#xff0c;这样就把数据变换成分布在sigmoid激活函数的中间部…

补充python部分细节性知识点

未完&#xff0c;持续更新中。。。 一、数据类型 1.浮点型&#xff1a;float 使用浮点型的变量相加之后可能会存在值不准确的问题&#xff0c;可以考虑引入decimal模块,decimal其实也是一种数据类型&#xff0c;是十进制的数据类型&#xff0c;实际上就是将flaot类型进行一次…

Java安全——语言安全结构

Java安全 Java语言安全 Java语言安全结构 面向对象的一个设计突出点就是允许数据的隐藏和数据的封装。数据封装确定了数据的访问只能通过公共接口访问操作。而一般的操作是直接管理对象的数据元素。对于开发大型的&#xff0c;健壮性的面向对象的系统的重要性。 java实体的…

Linux下std::ifstream成员函数对应系统调用验证

最近在分析离线数据使用时的bug&#xff0c;发现代码中对std::ifstream成员函数使用存在疑问&#xff0c;所以就写了个简单测试程序来分析std::ifstream成员函数对应那些系统调用。 目录 1.gcount 2.seekg和tellg 3.read 代码如下&#xff1a; test.cpp #include <ios…

python中如何使用正则表达式提取数据

这篇文章主要介绍了python中如何使用正则表达式提取数据问题。具有很好的参考价值&#xff0c;希望对大家有所帮助。如有错误或未考虑完全的地方&#xff0c;望不吝赐教。 正则表达式是一个特殊的字符序列&#xff0c;它能帮助你方便的检查一个字符串是否与某种模式匹配。 re…

mac m4a转mp3怎么转?

mac m4a转mp3怎么操作&#xff1f;小编之前编写了在windows系统电脑上进行音频格式转换的教程和方法&#xff0c;帮助了不少的小伙伴。最近有一个粉丝朋友向我求助&#xff0c;因为自己使用的是苹果mac电脑&#xff0c;有没有什么方法可以在上面将m4a音频格式转换成mp3。因为使…

从加密转型AI:追求可持续性发展还是盲目跟风?

很多批评者曾说&#xff0c;加密行业充斥着流行语&#xff0c;总是在追逐下一个新趋势&#xff0c;甚至会因为过度追求短期利润而忽视了可持续性发展的重要性。在大多数情况下&#xff0c;他们似乎是对的。 上周末&#xff0c;国内最早也是最大的比特币论坛巴比特宣布转型AI赛道…

ClickHouse单节点安装配置

创建目录 mkdir /opt/clickhouse 将文件复制到目录 cp /opt/clickhouse-*.rpm /opt/module/clickhouse/ 在/clickhouse目录下解压安装文件 rpm2cpio clickhouse-client-21.7.3.14-2.noarch.rpm | cpio -idmv rpm2cpio clickhouse-common-static-21.7.3.14-2.x86_64.rpm | …

OpenCV学习笔记 | 边缘检测Canny算法复现 | Python

摘要 OpenCV中的边缘检测是指在图像中检测出明显的边缘轮廓线&#xff0c;可以通过计算图像中每个像素的梯度来实现。Canny算法是一种常用的边缘检测算法&#xff0c;它主要通过连续的操作来寻找边缘&#xff0c;包括对图像去噪、计算图像梯度、非极大值抑制和双阈值处理等步骤…

第36节:cesium 下雨效果(含源码+视频)

结果示例: 完整源码: <template><div class="viewer"><vc-viewer @ready="ready" :logo="false"><!

[ JVM ] 常用参数 优化参考

基础概念回顾 JDK、JRE、JVM的关系&#xff08;JDK>JRE>JVM&#xff09; JDK JRE 开发工具 、JRE JVM 类库&#xff0c;具体关系如下图&#xff1a; JDK&#xff08;Java Development Kit&#xff09; 用于开发 Java 应用程序的软件开发工具集合&#xff0c;包括 了 …

【接口mock工具】推荐一个好用的api接口关联,接口mock,文档管理的工具-yapi

【接口mock工具】推荐一个好用的api接口关联&#xff0c;接口mock&#xff0c;文档管理的工具-yapi 能满足的功能 &#xff1a; 1. 接口mock 2. 接口文档生成 3. 接口自动化测试 4. 接口自动化测试结果可以发送到你的企业微信上面 5. 接口管理可以按照分组&#xff0c;分项…

python数据分析之利用多种机器学习方法实现文本分类、情感预测

大家好&#xff0c;我是带我去滑雪&#xff01; 文本分类是一种机器学习和自然语言处理&#xff08;NLP&#xff09;任务&#xff0c;旨在将给定的文本数据分配到预定义的类别或标签中。其目标是为文本数据提供自动分类和标注&#xff0c;使得可以根据其内容或主题进行组织、排…

初见RNN(第七次组会)

初见RNN&#xff08;第七次组会&#xff09; 序列模型、马尔可夫假设循环神经网络 序列模型、马尔可夫假设 循环神经网络