是否可以仅在一个测试中(即在测试脚本中)更改pytest中的捕获行为?

我有很多与pytest一起使用的测试。我希望在某些测试中打印一些有用的数量,因此我使用-s标志在pytest输出中显示它们。但是我也测试警告,这些警告也会被打印出来,并且看起来丑陋且分散注意力。我已经像往常一样尝试使用warnings.simplefilter来不显示警告,但这似乎无济于事。 (也许pytest会引起黑客攻击??)无论如何,我想以某种方式使警告安静,但仍检查警告是否已发出,同时还可以查看其他打印语句中捕获的输出。有什么方法可以做到这一点-例如,仅更改一项测试功能的捕获?

最佳答案

使用pytest 3.x,有一个easy way可以暂时禁用捕获(请参阅关于capsys.disabled()的部分。

还有pytest-warnings插件,可在专用报告部分显示警告。

关于python - 更改pytest捕获以进行一项测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38730502/

10-16 00:57