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

时间:2015-08-21 20:06:28

标签: python django django-testing coverage.py

我正在开发一个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中,标准调用将是

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

如上所述,我希望根据docs使用.coveragerc

  

配置文件的默认名称是.coveragerc,在运行的coverage.py目录中。

我希望coverage在其他位置查找该配置文件,甚至更好,根据测试的应用程序自行查找。

是否有任何常见的方法,还是应该编写自己的测试运行器进行覆盖整合?

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

1 个答案:

答案 0 :(得分:0)

是的,更多的阅读会阻止这个问题:

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

我仍然希望将其保留为其他答案,特别是关于自动发现应用程序特定配置文件。