Главная · Каталог задач · Интеграционные тесты с базой

Готовый сценарий

Интеграционные тесты с базой

Интеграционные тесты с базой проверяют границу приложения и настоящего хранилища: SQL, ограничения, типы и транзакции. Енотик поможет выбрать подготовку данных и изоляцию. Учебный заказ содержит две позиции, а неверная ссылка второй позиции должна откатить весь заказ. Мок репозитория этого не докажет. Для приёмки нужно проверить отсутствие частично сохранённых строк и затем успешно создать корректный заказ, чтобы тест не оставлял повреждённое состояние для следующего сценария.

Попробуйте прямо здесь Отвечает Gemma 3 12B — модель подобрал сервис

Открыть в полном чате

  • Доступ без VPN
  • Русский интерфейс
  • Оплата рублями по факту

Зачем

Зачем это нужно

01

Запускайте тот же тип и совместимую версию СУБД, что проверяет приложение.

02

Создавайте схему миграциями и данные через контролируемые фикстуры.

03

Проверяйте итоговые записи и независимость сценариев после ошибки.

Вопросы

Частые вопросы

Как задать содержательный тест транзакции?

«Учебный заказ создаёт шапку и две позиции; у второй несуществующий product_id. После отказа в базе нет ни заказа, ни первой позиции». Попросите затем успешный сценарий с двумя допустимыми товарами. Проверяйте состояние независимым запросом, а не только вызов rollback. Важно доказать бизнес-результат реального SQL, включая ограничения схемы и поведение драйвера в выбранной СУБД.

Всегда ли подходит внешняя транзакция с откатом?

Нет, если приложение использует другое соединение, проверяется commit или работают фоновые процессы. Внешняя транзакция может скрыть данные от второго участника и дать результат, не похожий на рабочий сценарий. Попросите сравнить откат, очистку таблиц и отдельную схему. Способ изоляции должен сохранять проверяемое поведение, а не только быстро возвращать базу к пустому состоянию после каждого теста.

Как запускать такие тесты параллельно?

Разделите пространство данных или базу для каждого исполнителя и задайте уникальные идентификаторы. Очистка общих таблиц одним тестом не должна удалять данные другого. Попросите сценарий двух одновременно создаваемых заказов и случайный порядок запуска. Контейнер сам по себе не обеспечивает независимость, если все тесты используют одну схему и одинаковые записи без согласованной стратегии очистки и подготовки.

Что считать успешной проверкой?

Тест обнаруживает намеренное нарушение атомарности или ограничения, проходит на корректном коде и повторяется независимо от порядка. Сохраните логи реального отказа и очистки. Енотик подготавливает тестовый сценарий, но не поднимает вашу базу автоматически. Проверяйте переменные подключения особенно внимательно: интеграционный набор должен использовать выделенное тестовое хранилище, а не случайно обращаться к рабочим данным приложения при локальном запуске.

Рядом

Дальше — весь каталог задач: поиск по названию, темы и фильтры.

Нужно больше

Весь Енотик — в одном окне

Полный чат: история, вложения, базы знаний, картинки и видео. Один баланс на все модели, оплата рублями по факту.