首页 > 解决方案 > Python 覆盖不会将输出重定向到文件

问题描述

我正在尝试对单元测试的 Python 文件 WorkTest.py 运行覆盖,并将输出转发到文件 output.txt。

$ coverage run --branch WorkTest.py > output.txt

但是,输出一直出现在屏幕上,并且在我运行此命令的文件夹中没有 output.txt。为什么覆盖无法将输出重定向到文件?

我有 Windows 10、python 3.6.8、coverage 5.1 和 Git 附带的命令行 Git Bash。谢谢你。

标签: python-3.xwindowscode-coveragegit-bash

解决方案


首先检查输出是否实际上不在标准错误中而不是标准输出中:

coverage run --branch WorkTest.py > output.txt 2>&1

Coverage.py 命令行用法确实提到:

调试输出到 stderr,除非COVERAGE_DEBUG_FILE环境变量命名一个不同的文件,该文件将被附加到。


推荐阅读