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

相關文章
相關標籤/搜索