Python 如何使用coverage.py从覆盖率报告中排除南方迁移

Python 如何使用coverage.py从覆盖率报告中排除南方迁移,python,django,code-coverage,coverage.py,Python,Django,Code Coverage,Coverage.py,我用来检查django应用程序的测试覆盖率。但是,由于我使用South进行数据库迁移,因此所有这些文件都显示为0%,并将总体百分比弄乱 我已经尝试在run和report(以及两者)中使用--omit=*migrations*,但都不起作用 截至2010年12月20日,我试用了Bitbucket的3.4版和最新版本,结果相同 你知道如何让coverage.py真正忽略迁移文件夹吗?你试过了吗。我认为它可以处理此类问题。您应该能够匹配migrations目录以省略这些文件。你试过引用这个论点吗?根据

我用来检查django应用程序的测试覆盖率。但是,由于我使用South进行数据库迁移,因此所有这些文件都显示为0%,并将总体百分比弄乱

我已经尝试在
run
report
(以及两者)中使用
--omit=*migrations*
,但都不起作用

截至2010年12月20日,我试用了Bitbucket的3.4版和最新版本,结果相同


你知道如何让coverage.py真正忽略迁移文件夹吗?

你试过了吗。我认为它可以处理此类问题。

您应该能够匹配migrations目录以省略这些文件。你试过引用这个论点吗?根据您的操作系统和shell,它可能会过早地扩展这些星号。试着这样做:

--omit='*migrations*'
或者,您可以将开关放入.coveragerc文件:

[run]
omit = *migrations*
解决办法是:

[run]
omit = ../*migrations*
最新版本的有一个新选项覆盖了将排除迁移的\u迁移。它还不在PyPI中,因此您需要使用pip/easy\u install specyfing url git url作为源安装它。

尝试:

coverage run --source=. manage.py test app_name
这忽略了第三方代码并修复了您的%问题

这对我很有效:

coverage run --source='.' --omit='*/migrations/*.py' manage.py test

我正在使用鼻子测试,它不允许您将所有参数传递到coverage.py,这对我也很有效。