春季3到4迁移问题

时间:2017-10-04 06:42:45

标签: java spring

我的测试扩展了AbstractTransactionalSpringContextTests,现已弃用。我使用的是setCompleteendTransactionstartNewTransaction

这些的替代用途是什么?

1 个答案:

答案 0 :(得分:0)

对于简单的使用案例,您可以使用@Transactional@Commit。如果测试方法使用@Transactional注释,则测试方法将在事务内执行,并且在测试运行后将执行回滚。 @Commit阻止执行此回滚(类似于setComplete)。您可以在测试类上使用@Transactional来执行事务中的每个测试方法。

如果您需要更细粒度的控制,请结合AbstractTransactionalJUnit4SpringContexTestTestTransaction中的静态方法一起使用。 Spring Documentation有一个很好的例子,说明如何使用TestTransaction来启动和结束事务,或者为提交标记它们。使用AbstractTransactionalJUnit4SpringContexTest时,您需要记住它已经在类级别上使用@Transactional进行了注释。