Я согласен с ответом Ральфа.
Propagation.REQUIRES_NEW создает новую транзакцию, и это, вероятно, не соответствует основному транзакционному маршруту, на котором выполняется тест.
В моем простом опыте аннотация @ Transactional будет правильно работать для определения транзакционного контекста, в котором должен выполняться каждый отдельный тест, делегируя этому конкретное текущее предложение Rollback (как показано Ральфом).
Ответ Ральфа полезен, и в то же время ответ Сниколаса касается конкретного случая управления контекстом тестов.Идемпотентность является фундаментальной для интеграции и автоматических тестов, но должны быть разными способами их реализации.Вопрос в том, какие у вас есть методы?И какое поведение имеют эти методы?
[...]
@Transactional
public class Test {
@Test
@Rollback(false)
public void test() {
[...]
Это простой, согласованный с вопросом способ:)