очистите тестовые сценарии после завершения тестов для класса в SpringBoot

#spring #spring-boot #spring-boot-test

Вопрос:

Я хотел бы выполнить несколько сценариев тестовой вставки перед моим тестовым классом. Как только все тесты в этом классе будут выполнены, я хотел бы удалить их.Например,

 @SpringBootTest
@Sql("/test-insert.sql")
public class EmployeeControllerTest{
 //tests here
}
 

Я вижу несколько вариантов

  1. выполнение инструкции delete в последнем тесте путем указания @TestOrder для каждого из тестов.
  2. указание @Sql с помощью фазы выполнения(до и после для вставки и удаления) для каждого из методов тестирования отдельно. Но вставка/удаление будет повторяться для каждого метода.
  3. используется @AfterAll для установления соединения с базой данных и удаления тестовых вставок.

Есть ли какой-нибудь более чистый способ, такой как указание чего-либо для очистки на уровне класса после выполнения всех тестов в этом классе?

Комментарии:

1. вы используете реальный экземпляр базы данных? посмотрите на создателей тестов baeldung.com/spring-boot-testcontainers-integration-test это может решить ваши проблемы с очисткой бд после тестов

2. Спасибо. Да, я использую реальный экземпляр базы данных.