python-3.x - 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。谢谢你。
解决方案
首先检查输出是否实际上不在标准错误中而不是标准输出中:
coverage run --branch WorkTest.py > output.txt 2>&1
Coverage.py 命令行用法确实提到:
调试输出到 stderr,除非
COVERAGE_DEBUG_FILE
环境变量命名一个不同的文件,该文件将被附加到。
推荐阅读
- java - 程序似乎跳过了 while 循环的第一次迭代
- html - 边界半径和图像
- c++ - 如何解决“引发未处理的异常:读取访问冲突”。对于反向链表?
- java - 如何在 float 方法中返回 null
- python - 如何对 JSON Parser Loop 进行错误处理
- dictionary - 为什么我们使用树而不是字典或哈希图来进行 Huffman 压缩?
- image - 将带有图像的表格从谷歌文档导入谷歌表格
- reactjs - 如何将 mailto 设置为子 react.js 组件的属性
- create-react-app - Create-react-app 不支持中继编译器的 --artifactDirectory 选项
- python-3.x - 动态图每 4 秒更新一次