#spring #spring-boot #spring-boot-test
Вопрос:
Я хотел бы выполнить несколько сценариев тестовой вставки перед моим тестовым классом. Как только все тесты в этом классе будут выполнены, я хотел бы удалить их.Например,
@SpringBootTest
@Sql("/test-insert.sql")
public class EmployeeControllerTest{
//tests here
}
Я вижу несколько вариантов
- выполнение инструкции delete в последнем тесте путем указания
@TestOrder
для каждого из тестов. - указание
@Sql
с помощью фазы выполнения(до и после для вставки и удаления) для каждого из методов тестирования отдельно. Но вставка/удаление будет повторяться для каждого метода. - используется
@AfterAll
для установления соединения с базой данных и удаления тестовых вставок.
Есть ли какой-нибудь более чистый способ, такой как указание чего-либо для очистки на уровне класса после выполнения всех тестов в этом классе?
Комментарии:
1. вы используете реальный экземпляр базы данных? посмотрите на создателей тестов baeldung.com/spring-boot-testcontainers-integration-test это может решить ваши проблемы с очисткой бд после тестов
2. Спасибо. Да, я использую реальный экземпляр базы данных.