我目前正在为Python编写单元测试,为此我使用了内置的"unittest"模块和一个名为"coverage"的外部库的组合。
在Windows上生成报告时,我得到以下输出:
C:UsersMeProject> coverage report --include package/*
...
packagetestsscanner.py 53 0 100%
packagetestsscans.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/*