單元測試的時候頻繁操做數據庫須要修改不少數據,形成沒必要要的操做,添加事務以後就能夠重複對一條數據進行操做,而且在返回結果後進行回滾.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