有时我想在我的代码中插入一些打印语句,看看当我执行它时会打印出什么。我通常使用现有的pytest测试来“锻炼”它。但是当我运行这些时,我似乎无法看到任何标准输出(至少在我的IDE PyCharm中)。

是否有一种简单的方法可以在pytest运行期间查看标准输出?


当前回答

pytest test_name.py -v -s

简单!

其他回答

pytest test_name.py -v -s

简单!

如果有人想从输出代码中运行测试:

if __name__ == '__main__':
    pytest.main(['--capture=no'])

最近添加了Pytest——capture=tee-sys (v5.4.0)。您可以捕获并查看stdout/err上的输出。

运行测试时使用-s选项。当运行测试时,exampletest.py中的所有打印语句都将被打印到控制台上。

py.test exampletest.py -s

-s开关禁用每个测试捕获(仅当测试失败时)。

-s等价于——capture=no。