Django 可重用应用程序测试 - coveragerc

Django reusable app testing - coveragerc

我正在开发 Django 可重用应用程序。我的开发设置如下所示:

~/development/django-foo/
    foo/
        apps.py
        fixtures/
            ...
        forms/
            ...
        __init__.py
        models/
            ...
        static/
            foo/
                ...
        templates/
            foo/
                ...
        tests/
            ...
        urls.py
        views/
            ...
    .gitignore
    README.rst

~/virtualenv/foo/
    ...
    project_root/
        apps/
            __init__.py
            foo -> ~/development/django-foo/foo/
        manage.py
        project/
            __init__.py
            settings/
            urls.py
            wsgi.py
        static/
        templates/

我想添加一个 .coveragerc,其中包含我的应用程序的特定设置,例如特殊 exclude_lines(描述为 here)。显然,这应该特定于我的应用程序,所以我想将该文件放在 ~/development/django-foo/.coveragerc 中。 无论如何,coverage 安装在 virtualenv 中并且 standard 调用将是

(foo) ~/virtualenv/foo/ % coverage run --source='apps/foo' manage.py test foo && coverage report

如前所述,我想使用.coveragerc,根据docs

The default name for configuration files is .coveragerc, in the same directory coverage.py is being run in.

我希望 coverage 在另一个位置或更好的位置查找该配置文件,根据测试的应用程序自行查找。

是否有任何通用方法,或者我应该编写自己的具有覆盖集成的测试运行器?

是的,我已经想到了将 ~/virtualenv/foo/project_root/.coveragerc 符号链接到 ~/development/django-foo/.coveragerc 的想法!

是的,多读书会避免这个问题:

coverage help run
...
--rcfile=RCFILE       Specify configuration file.  Defaults to '.coveragerc'

我仍然想留待其他答案,尤其是关于自动发现应用特定配置文件的问题。