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(); } } }