【发布时间】:2018-06-19 18:38:30
【问题描述】:
我看过这个问题:py.test logging messages and test results/assertions into a single file 我还在这里阅读了文档:https://docs.pytest.org/en/latest/logging.html
两者都没有接近令人满意的解决方案。
- 我不需要断言结果和日志一起,但如果它们都在日志中就可以了。
- 我需要测试期间生成的所有日志,但我不需要它们来进行测试。在测试失败/成功后,我需要它们来分析测试结果。
- 我需要测试成功和失败的日志。
- 我需要标准输出只包含摘要(例如
test-name PASSED)。如果摘要还包含失败测试的堆栈跟踪也可以,但这不是必需的。 - 基本上,我需要测试产生 3 个不同的输出:
- 用于 CI 的 HTML / JUnit XML 工件。
- CI 日志的 CLI 最小输出。
- 测试人员/自动化团队分析的扩展日志。
我试过pytest-logs 插件。据我所知,它可以通过在测试运行时显示所有日志记录来覆盖一些默认的pytest 行为。这比默认行为略好,但离我需要的还很远。从文档中我了解到pytest-catchlog 将与pytest 冲突,我什至不想探索该选项。
问题
这是否可以通过配置pytest 来实现,或者我应该编写一个插件,或者,甚至一个插件都不会这样做,我将不得不修补pytest?
【问题讨论】:
-
您能找到解决方案吗?我开始编写自己的记录器,用于我的 pytest 模块,但我对解决方案并不感到兴奋。