тест (IT) связанный с записью в БД сущностей и событиями при их записи. Для воспроизведения теста нужно кучу данных прогрузить в БД. Есть несколько вариантов.
1) Создать сущности через ORM но из много и довольно много кода
2) Перед началом теста залить дамп в тестовую БД
3) Перед началом теста выполнить sql-скрипты в которых лежат тестовые данные
@Sql(
scripts = {
"/sql/create_client.sql",
"/sql/create_currencies.sql",
"/sql/create_services.sql",
},
config = @SqlConfig(transactionMode = ISOLATED),
executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD
)
@Sql(
scripts = {
"/sql/truncate_client.sql",
"/sql/truncate_service.sql",
"/sql/truncate_currencies.sql",
},
config = @SqlConfig(transactionMode = ISOLATED),
executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD
)
По мне так проще поддерживать тестовый дамп в актуальном состоянии. Кто что думает?
если дамп на все тесты пригодится - можно залить сразу, а так да @Sql
Обсуждают сегодня