微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 pytest 在控制台上禁用日志输出打印

如何解决使用 pytest 在控制台上禁用日志输出打印

我正在使用 pytest 编写测试,如果我的验证失败,它会生成大量需要的日志。我正在使用 python 的标准日志记录模块将这些错误记录到使用 FileHandler 类的文件中。 我正在使用 pytest-html 生成 html 报告。 一切都按预期工作,除了 pytest 将日志消息记录到终端也比实际测试执行花费更多时间。 (想象一下,在终端上记录了大约 20 万条日志消息)。

pytest 中是否有任何选项可以禁用将任何日志记录到终端中,但仍会捕获并在 html 报告中提供这些日志。如果可能,仍然需要记录异常或断言错误

解决方法

您或许可以使用 --show-capture 选项配置输出。

来自pytest --help

--show-capture={no,stdout,stderr,log,all}
  Controls how captured stdout/stderr/log is shown on failed tests. Default is 'all'.

如果您想对过滤掉的内容进行更细粒度的控制,您可能需要查看日志配置本身(更改捕获的日志级别等)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。