我使用django-nose來測試我們的Django項目。這是常見的分裂在Django這樣的應用程序內大型測試套件:如何防止鼻子運行並報告重複測試?
myapp/
__init__.py
models.py
tests/
__init__.py
test_views.py
test_models.py
views.py
tests/__init__.py
應該是這樣的:
from test_views import *
from test_models import *
由於Django會尋找測試中myapp.tests
,一切正常。在另一方面鼻子會發現在tests_*.py
和在__init__.py
再次將其導入測試。這導致報告的測試總數是他們應該達到的兩倍。
解決此問題(比不使用的子模塊等),將正確地都Django的鼻子和默認的Django的測試運行報告任何測試的方法呢?
「Django會尋找在'myapp.tests'測試」 – Pete 2010-08-31 15:51:11
真的嗎?如果省略,測試運行0次,如果包含,測試運行2次?這是奇怪的行爲。 我使用標準的鼻子(而不是Django鼻子),所以也許我的期望是錯誤的。然而,我的理解是鼻子的目的是自動找到測試,從而避免無關的代碼(例如不必要的進口)。 – Max 2010-08-31 17:46:35
如果您想要使用Django測試發現或鼻子測試發現,這將是有問題的。 – spookylukey 2014-04-01 12:22:12