1. 程式人生 > >Spring-test單元測試

Spring-test單元測試

xtend manage 單元 true nconf ret trace ace oca

package com.OnlineRetailers.service.base;

import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;

@RunWith(SpringJUnit4ClassRunner.
class) //使用junit4進行測試 @ContextConfiguration(locations={"classpath:spring/*.xml"}) //加載配置文件 @WebAppConfiguration("src/main/resources") //------------如果加入以下代碼,所有繼承該類的測試類都會遵循該配置,也可以不加,在測試類的方法上///控制事務,參見下一個實例 //這個非常關鍵,如果不加入這個註解配置,事務控制就會完全失效! //@Transactional //這裏的事務關聯到配置文件中的事務控制器(transactionManager = "transactionManager"),同時
//指定自動回滾(defaultRollback = true)。這樣做操作的數據才不會汙染數據庫! //@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true) //------------ public abstract class BaseJunit4Test { }
package com.OnlineRetailers.service.goods.specification;


import java.util.Date;

import javax.annotation.Resource;

import org.junit.Before; import org.junit.Test; import org.springframework.test.annotation.Rollback; import org.springframework.transaction.annotation.Transactional; import com.OnlineRetailers.common.util.PageData; import com.OnlineRetailers.common.util.Tools; import com.OnlineRetailers.common.util.UuidUtil; import com.OnlineRetailers.service.base.BaseJunit4Test; public class SpecificationValuesServiceTest extends BaseJunit4Test{ @Resource private SpecificationValuesService specificationValuesService; @Before public void setUp() throws Exception { } @Test //標明是測試方法 @Transactional //標明此方法需使用事務 @Rollback(false) //標明使用完此方法後事務不回滾,true時為回滾 public void add() { PageData pd=new PageData(); pd.put("SPV_ID",UuidUtil.get32UUID()); pd.put("SPV_NAME","測試"); pd.put("SPV_IMG_SRC","圖片路徑"); pd.put("SPV_NOTE","備註"); pd.put("CREATE_DATE",Tools.date2Str(new Date())); try{ int i=specificationValuesService.save(pd); System.out.println(i); }catch(Exception e){ e.printStackTrace(); } } }

Spring-test單元測試