我已经看到了这个问题:py.test logging messages and test results/assertions into a single file 我还在这里阅读了文档:https://docs.pytest.org/en/latest/logging.html
两者都没有接近令人满意的解决方案。
$.each(arrUniqueFieldNames, function() {
var strFName = String(this);
oEntries[this] = _.filter(jsonEntries, function (item) {
if (item.FieldName === strFName) {
return String(item.FieldValue)
}
});
});
)。如果摘要还包含失败测试的堆栈跟踪,那就没问题,但这不是必需的。我尝试了test-name PASSED
插件。据我所知,它可以通过在测试运行时显示所有日志记录来覆盖某些默认的pytest-logs
行为。这比默认行为略好,但它仍然远远不是我需要的。从文档中我了解pytest
会与pytest-catchlog
发生冲突,我甚至不想探索该选项。
这可以通过配置pytest
来实现,还是应该编写一个插件,或者,即使是一个插件也不会这样做,我将不得不修补pytest
?
答案 0 :(得分:2)
您可以使用--junit-xml=xml-path
开关来生成junit日志。如果您想要html格式的报告,则可以使用pytest-html插件。同样,您可以使用pytest-excel插件以excel格式生成报告。
您可以使用tee将日志传送到两个不同的进程。示例:pytest --junit-xml=report.xml | tee log_for_testers.log
将在stdout中为CI日志生成日志,为CI工件生成report.xml并为团队分析生成log_for_testers.log。