单元测试的时候频繁操做数据库须要修改不少数据,形成没必要要的操做,添加事务以后就能够重复对一条数据进行操做,而且在返回结果后进行回滚.spring
原先继承的是 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