如何在运行 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 到控制台?的主要内容,如果未能解决你的问题,请参考以下文章