Тесты приложения Django не будут запускаться специально (но будут выполняться со всеми тестами) - PullRequest
1 голос
/ 03 февраля 2012

У меня есть приложение Django под названием "fstore".Он зарегистрирован в INSTALLED_APPS как "foo.bar.fstore".Когда я запускаю все свои тесты django с помощью «manage.py test», я вижу результаты этого теста, например ::

FAIL: testFilesWithDuplicatePathsDoNotOverwriteEachOther (foo.bar.fstore.tests.fileRecTests.TestFunctionality)

Однако, когда я пытаюсь специально запустить тесты для этого приложения через "manage.py test fstore", Django сообщает мне:

Ран 0тесты в 0,000s

Если бы я неправильно указала имя приложения или что-то в этом роде, я бы обнаружила ошибку, но она четко распознает приложение ... оно просто не может найти тесты для него(даже если они находятся в папке «tests» с __init__.py внутри папки этого приложения).Итак, мой основной вопрос: что дает?Или, более конкретно, как я могу получить только тесты из этого приложения для запуска без выполнения всех остальных?

О, и просто чтобы исключить простой ответ, да, это приложение имеет и models.py, и__init__.py.

* РЕДАКТИРОВАТЬ *

Я просто запустил "manage.py shell" и оказалось, что что-то подозрительно:

from django.db.models import get_app, get_apps
get_app("fstore")
<module 'foo.bar.search.models' from '/baz/python/foo/bar/search/models.pyc'>

Что, конечно, было скомпилированной формой совершенно неправильной модели (понятия не имею, как это произошло).Поэтому я удалил файл .pyc, и теперь я получаю более обычную ошибку:

django.core.exceptions.ImproperlyConfigured: не найдено приложение с меткой fstore

это прогресс ... но он все еще не объясняет, почему Django не может найти мое приложение.

Еще одно замечание: хотя Django работает нормально (я могу "manage.py runserver", просмотретьмое приложение и т. д.), в командной строке у меня явно нет приложений вообще.Например, попытка запустить «manage.py test debug_toolbar» приводит к аналогичной ошибке ImproperlyConfigured.Надеюсь, это что-то значит для кого-то ...

1 Ответ

1 голос
/ 03 февраля 2012

Ух ты, это было ужасно. Итак, я думаю Я редактировал основные файлы Django во сне или что-то в этом роде, потому что был файл (models / loading.py), который был изменен, чтобы это приложение foo.bar.search было закодировано к этому. У меня нет истории изменения этого файла, а также истории Eclipse, и у меня не было бы причин редактировать файл, но ... поскольку никто другой не смог бы это сделать, я думаю, что должен есть (или есть ДЕЙСТВИТЕЛЬНО странная ошибка django, которая приводит к редактированию исходного кода).

Полагаю, я оставлю этот вопрос / ответ здесь, потому что у кого-то есть шанс, что кто-то другой сделает что-то подобное, и это поможет им, но это такой странный случай, что я сомневаюсь, что это произойдет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...