Python 覆盖范围在Windows上工作,但在Linux机器上失败

Python 覆盖范围在Windows上工作,但在Linux机器上失败,python,python-unittest,coverage.py,Python,Python Unittest,Coverage.py,我目前正在为Python编写单元测试,为此我将使用内置的“unittest”模块和名为“coverage”的外部库的组合 在windows上生成报告时,我得到以下输出: C:\Users\Me\Project> coverage report --include package/* ... package\tests\scanner.py 53 0 100% package\tests\scans.py 169

我目前正在为Python编写单元测试,为此我将使用内置的“unittest”模块和名为“coverage”的外部库的组合

在windows上生成报告时,我得到以下输出:

C:\Users\Me\Project> coverage report --include package/*
...
package\tests\scanner.py                 53      0   100%
package\tests\scans.py                  169     32    81%   202-235
---------------------------------------------------------------------------
TOTAL                                          1344    336    75%
但是,当我在基于Linux的机器上部署时,会发生以下情况:

$ coverage report --include package/*
Name    Stmts   Miss  Cover   Missing
-------------------------------------
No data to report.
ERROR: Job failed: exit code 1
如果我使用以下命令,它会查找文件,但在嵌套文件中找不到任何文件:

$ coverage report -m package/**/*.py

有人知道我如何解决这个问题吗?

这似乎与Bash中的通配符有关。执行以下操作有效:

coverage report -m unittest package/\*

您确定在部署该命令时您在Linux上的脚本目录中吗?@HarshithThota是的,我执行的所有其他脚本似乎都工作正常,只是在向coverage传递路径时,它的行为似乎非常奇怪安装coverage之前是否安装了python开发和gcc支持文件?@HarshithThota是的,我显示的最后一个命令似乎确实有效,但没有包括我的
包中的所有子文件
文件夹使用硬引号可能更容易,因此您不必记住所有特殊的bash字符:
覆盖率报告-m unittest“package/*”