@troitskyA

Можно ли использовать прямые запросы к БД в функциональном тесте?

Итак Есть функциональный тест для API, который должен проверить, возвращает ли запрос корректное количество записей, выбранных по определенным критериям, причем ожидаемое количество записей вбито прямо в код. Есть второй функциональный тест, который проверяет например удаление записи.
Если я запускаю группу тестов и тест на удаление записи проходит первым, то первый тест уже будет ошибочным.
Вопрос в том, корректно ли в функциональном тесте использовать прямые запросы к БД для получения актуального ожидаемого количества записей?
  • Вопрос задан
  • 211 просмотров
Решения вопроса 1
@kn0ckn0ck
Продюсер
Корень проблемы здесь в том, что нарушен основной принцип автоматизации тестирования: изоляция тестов. Другими словами, никакой тест не должен влиять на прохождение других тестов.

Перед выполнением каждого теста должны быть обеспечены соответствующие предусловия и не придется делать прямых запросов к БД.

Например, если какой-то тест проверяет количество записей, то в setUp обязательно должно создаться это количество записей (каким образом - это уже другой вопрос). В этом и заключается суть изоляции - для каждого теста есть свой (и только) набор данных, с которыми тесты могут делать все что угодно и другим тестам на это фиолетово.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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