PyTest:交互式输出(而不是纯 ASCII)

gue*_*tli 6 python pytest

如何从 获得可扩展的输出PyTest

例如局部变量。如果我可以根据需要展开/折叠它们,那就太好了。

我认为这是当前文本输出PyTest达到其极限的地方。

问题:有没有办法从 获得交互式输出PyTest

对于交互式,我的意思是能够展开/折叠局部变量。

按需扩展

上面的例子来自 django 调试页面。

如果我运行 pytest,我希望有这样的交互式输出。

我的输出如下所示:

pytest-output-text-only

小智 3

为了获得类似于屏幕截图的输出(我假设来自 Django 调试会话),您将需要 pytest 和 pytest-html 插件。

您可以使用此命令行调用 pytest。

pytest --showlocals --html=report.html --self-contained-html testmodule/test.py
Run Code Online (Sandbox Code Playgroud)

这将为您提供一个 HTML 报告,其中包含可折叠测试的详细概述。传递参数--showlocals也将反映在 HTML 报告中。所有失败的测试都将显示局部变量范围。

我创建了一个带有进一步说明的小型示例存储库。

HTML 报告示例