sprint test 添加事务回滚机制

1.缘由:

单元测试的时候频繁操做数据库须要修改不少数据,形成没必要要的操做,添加事务以后就能够重复对一条数据进行操做,而且在返回结果后进行回滚.spring

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能够单独控制每一个方法的事务机制.app

相关文章
相关标签/搜索