Hello! 欢迎来到小浪资源网!

pytest单元测试如何显示被测程序的标准输出?


pytest单元测试如何显示被测程序的标准输出?

如何让 pytest 显示被测试程序的标准输出?

在编写单元测试时,有时需要查看被测试程序的标准输出。默认情况下,pytest 会屏蔽这些输出以提高运行速度。

以以下代码为例,它使用 logger.debug 和 print 打印日志:

def test_make_keyword_task(...):     ...     logger.debug(keyword_task_list)     print(keyword_task_list)

但是当使用 pytest 运行测试时,这些输出并没有显示。这是因为 pytest 默认屏蔽了标准输出。

要显示这些输出,可以在 pytest 命令中添加 -s 选项。该选项会取消屏蔽标准输出,允许查看程序的打印内容。

修改后的命令如下:

python -m pytest -s common

这样,运行测试后,logger.debug 和 print 的输出将正常显示。

相关阅读