如何关闭pytest控制台默认输出,仅显示自定义日志?
解决pytest默认会话输出屏蔽问题
下面几个方法可以帮你完全移除那部分默认输出,只保留自定义日志:
直接用pytest内置参数(推荐,pytest 7.0及以上版本)
给命令加上--no-header和--no-summary参数,完整命令:pytest -x -s -tb=no --no-header --no-summary--no-header会去掉开头的test session starts那段平台、版本信息,--no-summary会移除collected X items的收集统计行。低版本pytest或更自定义的控制
如果你的pytest版本低于7.0,或者需要更灵活的输出控制,可以在项目根目录的conftest.py里添加以下代码,通过钩子函数屏蔽默认输出:def pytest_sessionstart(session): # 阻止默认的会话启动头部输出 session.config._showfspath = False session.config._startpath = None def pytest_collection_finish(session): # 阻止默认的用例收集完成提示 pass这样运行pytest时就不会再输出你提到的那段内容了。
极简安静模式(快速方案)
使用-q(quiet)参数,它会大幅简化输出,结合你原来的参数:pytest -x -s -tb=no -q这个模式下只会显示测试结果的极简信息,不过如果需要完全干净的输出,还是推荐第一个方法。
内容的提问来源于stack exchange,提问作者Maksik
相关产品推荐
相关产品推荐

