Невозможно создать экземпляры абстрактной фабрики UserFactory ( Factory boy)
factory.errors.FactoryError: Cannot generate instances of abstract factory UserFactory; Убедитесь, что UserFactory.Meta.model установлен, а UserFactory.Meta.abstract либо не установлен, либо False. Я использую библиотеку factory boy Для тестирования моих функций
мой класс UserFactory здесь
введите описание изображения здесь
Здесь Модель пользователя я наследую от класса абстрактный пользователь введите описание изображения здесь
Я добавил класс meta abstract и все равно не работает
Я добавил класс meta abstract и все равно не работает
Сообщение об ошибке говорит само за себя: factory_boy позволит вам инстанцироваться из фабрики, только если эта фабрика имеет Meta.model
и не помечена Meta.abstract = True
.
Обычно используется:
class MyFactory(...):
class Meta:
model = SomeModel
В продвинутых случаях, некоторые проекты могут иметь абстрактные фабрики; в этом случае абстрактность должна быть отключена:
class SomeAbstractFactory(...):
class Meta:
model = MyModel
abstract = True
class MyFactory(SomeAbstractFactory):
class Meta:
abstract = False
В вашем примере кода вы написали model: User
вместо model = User
; это можно легко исправить с помощью:
class UserFactory(factory.django.DjangoModelFactory):
class Meta:
model = User
# (No "abstract = " clause)