Python 覆盖范围在Windows上工作,但在Linux机器上失败
我目前正在为Python编写单元测试,为此我将使用内置的“unittest”模块和名为“coverage”的外部库的组合 在windows上生成报告时,我得到以下输出: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
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/*”