如何在运行 pytest 时让 pycharm 转储 stdout 和 stderr 到控制台?

Posted

技术标签:

【中文标题】如何在运行 pytest 时让 pycharm 转储 stdout 和 stderr 到控制台?【英文标题】:How to make pycharm dump stdout and stderr to console on running pytest? 【发布时间】:2021-04-21 23:11:46 【问题描述】:

在 Pycharm 上使用 pytest,我有一些长时间的测试,我希望能够手动监控其进度。 诸如神经网络训练之类的东西 - 我想查看损失和进度条。

从像main() 这样的常规函数​​运行相同的代码可以得到很好的控制台输出。

在测试结束之前,通过 pytest 测试运行不会向控制台发送任何内容。


如何在 Pycharm 中让 pytest 仍然输出到控制台?

我找到了this answer 并尝试了-s--capture=tee-sys,它们基本上什么都没做。


2021 年 2 月 3 日 刚问on pycharm's forum。

【问题讨论】:

我最初是错的,现在我的答案是固定的。它是附加参数而不是参数 【参考方案1】:

在运行/调试配置中将-s 添加到您的Additional Arguments

这将禁用默认的 pytest stdout/stderr 捕获。

【讨论】:

更多细节:我正在尝试运行 pytorch-lightning 测试,有些测试很长。我必须等到运行结束才能看到结果。 -s 不起作用。通过下载他们的开源 github.com/PyTorchLightning/pytorch-lightning 并运行测试,可以轻松重现。 -s 对我不起作用。如果我想在运行窗口中看到输出,我仍然需要等待测试结束。

以上是关于如何在运行 pytest 时让 pycharm 转储 stdout 和 stderr 到控制台?的主要内容,如果未能解决你的问题,请参考以下文章

3.pytest文档-pycharm运行pytest

pytest文档3-pycharm运行pytest

pytest文档3-pycharm运行pytest

如何在 PyCharm 运行期间显示 pytest 输出? [复制]

pycharm如何设置以pytest方式去运行用例!!!

如何在运行配置中传递多个 pytest 命令行选项