pytest命令执行测试用例,捕获输出内容的三种方式
2024-01-03 11:30:00
pytest有三种捕获输出的方式:
? fd(文件描述符)级别的捕获(默认):所有写入操作系统文件描述符1和2的内容将被捕获。
? sys级别的捕获:只有对Python文件sys.stdout和sys.stderr的写入操作会被捕获,不会捕获对文件描述符的写入操作。
? tee-sys捕获:Python对sys.stdout和sys.stderr的写入操作会被捕获,但同时也会将写入内容传递给实际的sys.stdout和sys.stderr。这允许输出内容实时显示并用于插件,例如junitxml(在pytest 5.4中新增)。
您可以通过命令行来影响输出捕获机制:
pytest -s # 禁用所有捕获
pytest --capture=sys # 将sys.stdout和sys.stderr替换为内存文件
pytest --capture=fd # 同时将文件描述符1和2指向临时文件
pytest --capture=tee-sys # 结合'sys'和'-s',捕获sys.stdout/stderr,并将其传递给实际的sys.stdout/stderr
文章来源:https://blog.csdn.net/songpeiying/article/details/135358725
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!