RuntimeError: класс модели nose.util.C не объявляет явную метку app_label - PullRequest
0 голосов
/ 12 октября 2018

Что вызывает эту ошибку в моем приложении django, только когда я запускаю модульные тесты?Почему он считает nose.util.C моделью?

RuntimeError: Класс модели nose.util.C не объявляет явную метку app_label и либо не находится в приложении в INSTALLED_APPS, либо был импортировандо того, как его приложение было загружено.

1 Ответ

0 голосов
/ 12 октября 2018

Возможно, у вас есть модель с именем Test.Нос оборачивает класс и сбивает с толку Джанго.

jwhitlock на github объясняет:

В настоящее время я предполагаю, что нос обнаруживает модельный класс, который считает, что этодолжен запускать тесты - возможно, потому что он называется Test, или TestFoo, или FooTest, и он оборачивает его в transplant_class, который бесит загрузчик модели Django.Если это так, то это может сработать, если вы переименуете класс, или не будете выполнять манипуляции с путями Python, или добавите __test __ = False объявление класса.

Другой альтернативой является использование @nottest из nose.tools для украшения класса:

from nose.tools import nottest

@nottest
class Testacean(Model):
    ...
...