sprint test 添加事务回滚机制

1.原因:

单元测试的时候频繁操作数据库需要修改很多数据,造成不必要的操作,添加事务之后就可以重复对一条数据进行操作,并且在返回结果后进行回滚.

2.解决:

原先继承的是  AbstractJUnit4SpringContextTests  这个类,这个类不支持事务机制,换成 AbstractTransactionalJUnit4SpringContextTests 后则默认每条测试方法都是完成后回滚.

 

@ContextConfiguration(locations = {"classpath:config/spring/applicationContext-common.xml" })
@RunWith(SpringJUnit4ClassRunner.class)
public class SpringTestBase extends AbstractTransactionalJUnit4SpringContextTests{
    
}

 

 

 

 

    @Test
    @Rollback(value=true)
    //测试删除关系
    public void deleteTest() {
        int i = relationMapper.deleteById(1);
        Assert.assertEquals(1, i);
    }

@Rollback在 AbstractTransactionalJUnit4SpringContextTests 类下默认为true,如果不需要回滚则改为false, 通过@Rollback可以单独控制每个方法的事务机制.

 

posted @ 2019-05-24 16:54  随意的马蒂洛克  阅读(682)  评论(0编辑  收藏  举报