python-3.x - 使用 pytest 禁用在控制台上打印日志输出

标签 python-3.x automated-tests pytest pytest-html

我正在使用 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'.

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

关于python-3.x - 使用 pytest 禁用在控制台上打印日志输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67533831/

相关文章:

ruby - 有没有办法将命令行参数传递给 spec/rspec?

android - 如何定位特定的 Calabash 功能文件?

python - PyCharm/ python 。代码不运行。立即收到 "Getting Process finished with exit code 0"

python - 使用不同的参数同时运行相同的函数

python - 为什么交换奇数个变量列表时变量会消失?

python - 在扩展数字的对象上使用 numpy 函数。Real

testing - 使用 Selenium webdriver 从日期选择器中选择一个日期

Python 3 电子邮件正文编码

python - 从conftest.py访问测试文件名

python - py.test setup_class 中的 tmpdir