有时我想在我的代码中插入一些打印语句,看看当我执行它时会打印出什么。我通常使用现有的pytest测试来“锻炼”它。但是当我运行这些时,我似乎无法看到任何标准输出(至少在我的IDE PyCharm中)。
是否有一种简单的方法可以在pytest运行期间查看标准输出?
有时我想在我的代码中插入一些打印语句,看看当我执行它时会打印出什么。我通常使用现有的pytest测试来“锻炼”它。但是当我运行这些时,我似乎无法看到任何标准输出(至少在我的IDE PyCharm中)。
是否有一种简单的方法可以在pytest运行期间查看标准输出?
当前回答
最近添加了Pytest——capture=tee-sys (v5.4.0)。您可以捕获并查看stdout/err上的输出。
其他回答
最近添加了Pytest——capture=tee-sys (v5.4.0)。您可以捕获并查看stdout/err上的输出。
尝试pytest -s -v test_login.py查看控制台的更多信息。
-v是一个简短的,冗长的
-s表示“禁用所有捕获”
如果有人想从输出代码中运行测试:
if __name__ == '__main__':
pytest.main(['--capture=no'])
您还可以通过在项目根目录中的pytest.ini或tox.ini中设置以下内容来启用实时日志记录。
[pytest]
log_cli = True
或者直接在cli中指定
pytest -o log_cli=True
如果使用PyCharm IDE,则可以使用运行工具栏运行单个测试或所有测试。Run工具窗口显示应用程序生成的输出,您可以在其中看到作为测试输出的一部分的所有打印语句。