Задать вопрос
maxclax
@maxclax

Почему не срабатывает setup_class в pytest?

Начал осваивать pytest-django и столкнулся со следующей проблемой. Имею клас:

@pytest.mark.django_db
class TestNews:
    ###############
    #### Setup ####
    ###############

    def setup_class(cls):
        print("!!! In setup class !!!")
        cls.COUNT = 50
        NewsFactory.create_batch(is_allowed=True, size=cls.COUNT)


при дебагинге видно, что setup_class вызывает в начале всех тестов, но получаю следующую ошибку - нет такойто таблицы news_news. То-есть при запуске тестов не создаетса БД вовсе.

В случае если вместо setup_class использовать setup я вижу, что вызов метода перед каждым тестом и БД создает успешно и все тесты проходять. Почему так? Что я не указал? Мне нужен вызов setup_class только один раз в начале запуска всех тестов с этого класcа.
  • Вопрос задан
  • 229 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Скорее всего, методы, которые нужно переопределить, называются так:
setUpClass
tearDownClass
Ответ написан
Комментировать
@marazmiki
Укротитель питонов
Есть подозрение, что setup_class отличается от setup примерно так же, как __new__ отличается от __init__. И есть не менее серьёзное подозрение, что Вы хотите противоестественного.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы