在Deltaspike中回滚JUnit测试

时间:2016-02-08 16:22:54

标签: java junit spring-data-jpa deltaspike deltaspike-jpa

我在Java SE项目中使用Apache Deltaspike和OpenWebBeans进行CDI。我在Java EE项目中使用了Spring Data JPA,通过在类或测试方法上面添加@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> { }

0 个答案:

没有答案