Откат тестов JUnit в Deltaspike
Я использую Apache Deltaspike с OpenWebBeans для CDI в проекте Java SE. Я использовал Spring Data JPA в проекте Java EE, и было достаточно легко настроить модульные тесты, которые не фиксировали данные в базе данных, добавив @Transactional
аннотация над классом или методы испытаний. Однако я не смог найти эквивалентную технику с Deltaspike.
Помимо ручного отката данных после каждого теста или удаления и повторного создания базы данных при каждом запуске теста, есть ли способ указать, что каждый модульный тест должен откатывать изменения данных после завершения?
Мои юнит-тесты выглядят примерно так:
@RunWith(CdiTestRunner.class)
@Transactional // has no effect
public class FooUnitTest {
@Inject
private FooRepository fooRepository;
@Test
@Transactional // no effect either
public void testFoo() {
Foo foo = new Foo();
fooRepository.save(foo); // foo is persisted even outside the test
}
}
@Repository
public interface FooRepository extends EntityRepository<Foo, Integer> { }