Я использую 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
, все работает как положено. С другой стороны, Nose найдет тесты в tests_*.py
, а снова импортирует их в __init__.py
. Это приводит к тому, что общее число зарегистрированных испытаний удваивается, чем должно быть.
Есть ли какие-либо способы обойти эту проблему (кроме того, чтобы никогда не использовать подмодули), которые будут правильно сообщать о тестах как с помощью django-nose, так и по умолчанию запускающего тест Django?