写点什么

如何在 Pytest 中添加日志记录

  • 2024-04-15
    江西
  • 本文字数:1218 字

    阅读完需:约 4 分钟

前言

在编写和运行测试时,对于调试和排查问题,添加日志记录是一种非常有用的技术。Pytest 是一个流行的 Python 测试框架,开发者通过 pytest 可以轻松地编写和运行各种测试。本文将介绍如何在 Pytest 中添加日志记录,以便更好地理解测试执行过程中的细节和问题。


获取更多技术资料,请点击!

pytest.ini

我们之前有介绍过pytest.ini文件的使用,可以帮助我们更加方便的执行测试用例,pytest.ini 中有单独为 log 日志增加的一些信息,如下图:



我们可以对pytest.ini文件做出如下配置:


[pytest]log_cli = True      log_cli_level = INFO   log_cli_format = %(asctime)s [%(levelname)s] | %(filename)s:%(lineno)s | %(message)s       log_cli_date_format = %Y-%m-%d %H:%M:%S
复制代码


含义如下:


  • log_cli = True :表示是否实时打开 log 监测,默认为 False

  • log_cli_level : 表示监测 log 日志等级显示

  • log_cli_format: 表示输出 log 日志显示格式

  • log_cli_date_format: 表示显示 log 时间

运行用例

在我们创建了pytest.ini文件之后,在测试用例编写时,我们需要导入logging库,我们的测试用例文件内容如下:


import logging

def test_demo(): logging.info('这是测试用例01的info...') logging.warning('这是测试用例01的warning...') logging.error('这是测试用例01的error...') assert 1 == 1
复制代码


运行用例后,控制台输出如下:


============================= test session starts =============================collecting ... collected 1 item
test_demo.py::test_demo -------------------------------- live log call --------------------------------2024-04-09 17:15:21 [INFO] | test_demo.py:5 | 这是测试用例01的info...2024-04-09 17:15:21 [WARNING] | test_demo.py:6 | 这是测试用例01的warning...2024-04-09 17:15:21 [ERROR] | test_demo.py:7 | 这是测试用例01的error...PASSED [100%]
============== 1 passed in 0.01s ================
复制代码


如果我们不满足于日志只输出在控制台,想要输出成日志文件,我们可以修改pytest.ini文件,我们可以做出如下修改:


[pytest]log_file =pytest_log.txtlog_file_level = INFOlog_file_date_format = %Y-%m-%d %H:%M:%Slog_file_format = %(asctime)s [ %(levelname)s ] %(filename)s:%(lineno)s | %(message)s
复制代码


运行测试之后,我们可以看到项目中新生成了一个日志文件,内容如下:


2024-04-09 17:18:39 [ INFO ] test_demo.py:5 | 这是测试用例01的info...2024-04-09 17:18:39 [ WARNING ] test_demo.py:6 | 这是测试用例01的warning...2024-04-09 17:18:39 [ ERROR ] test_demo.py:7 | 这是测试用例01的error...
复制代码

总结

本文主要介绍了如何在 Pytest 中添加日志记录,以便更好地理解和调试测试代码。可以根据自己的需求进一步配置和扩展日志记录功能,从而更加有效地编写和运行测试用例。

用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
如何在 Pytest 中添加日志记录_霍格沃兹测试开发学社_InfoQ写作社区