2015-08-21 24 views
0

我正在開發一個Django可重用應用。我的發展設置是這樣的:Django可重用應用測試 - coveragerc

~/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 

如前所述,我想利用一個.coveragerc的,根據docs

默認名稱配置文件是.coveragerc,在同一目錄下運行coverage.py。

我想coverage在另一個位置查找該配置文件,甚至更好,根據測試的應用程序自行查找。

是否有任何常見的方法,或者我應該編寫自己的測試運行者與覆蓋集成?

是的,symlinking ~/virtualenv/foo/project_root/.coveragerc~/development/django-foo/.coveragerc的想法已經出現在我的腦海裏!

回答

0

呀,多看書就可以防止這樣的問題:

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

我還是想離開這個開放的其他答案,尤其是有關的應用程序特定的配置文件自動發現。