@Transactional会在Spring 3中自动回滚事务吗?

fas*_*ava 7 spring unit-testing transactions

我正在作为单元测试运行,即使我不使用@rollback弹簧3.1 ,它也会自动返回.我的测试看起来像

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:application-context.xml" })
public class PersonServiceTest {

    @Test
    @Transactional
    public void savePerson() {
            Person person = createPerson();
            personService.savePerson(person);
    }
}
Run Code Online (Sandbox Code Playgroud)

是否默认设置回滚行为?

jef*_*eff 14

默认情况下,SpringJUnit4ClassRunner将自动回滚事务.

要取消效果,请@TransactionConfiguration(defaultRollback=false)在测试课程或@Rollback(false)每次测试中使用.