<a target="_blank" href="http://nottiansyf.iteye.com/blog/345819">http://nottiansyf.iteye.com/blog/345819</a>
使用junit4.4測試
在類上的配置annotation
@runwith(springjunit4classrunner.class) 用于配置spring中測試的環境
@contextconfiguration(locations={"classpath:spring/applicationcontext.xml","classpath:spring/spring-config-*.xml"})用于指定配置檔案所在的位置
@test标注在方法前,表示其是一個測試的方法 無需在其配置檔案中額外設定屬性.
多個配置檔案時{"/applic","/asas"} 可以導入多個配置檔案
web-inf/classes/spring/beanrefcontext.xml配置路徑:classpath:spring/beanrefcontext.xml
測試中的事務配置 ,
abstracttransactionaljunit38springcontexttests、 abstracttransactionaljunit4springcontexttests
abstracttransactionaltestngspringcontexttests
已經在類級别預先配置了好了事物支援
在普通spring的junit環境中配置事務
在類之前加入注解
@transactionconfiguration(transactionmanagert="txmgr",defaultrollback=false)
@transactional
在方法中主要使用的annotation包括
@testexecutionlisteners({})---用于禁用預設的監聽器 否着需要通過@contextconfiguration配置一個applicationcontext;
@beforetransaction
@before
@rollback(true)
@aftertransaction
@nottransactional
junit4.4下支援類,友善基于junit4.4的測試
abstractjunit4springcontexttests:
abstracttransactionaljunit4springcontexttests:
需要在applicationcontext中定義一個datasource
2009年3月9日
目前spring2.5隻支援4.4的junit進行測試
下面是一個簡單的測試demo
package cn.com.bhgx.business.module.customerinfo.test;
import javax.annotation.resource;
import org.junit.test;
import org.junit.runner.runwith;
import org.springframework.test.context.contextconfiguration;
import org.springframework.test.context.junit4.springjunit4classrunner;
import org.springframework.test.context.transaction.transactionconfiguration;
import org.springframework.transaction.annotation.transactional;
import cn.com.bhgx.business.module.customerinfo.service.icustomerservice;
@runwith(springjunit4classrunner.class)
@contextconfiguration(locations={"classpath:spring/web-application-common.xml","classpath:spring/web-application-dao.xml","classpath:spring/web-application-service.xml"})
@transactionconfiguration(transactionmanager="transactionmanager",defaultrollback=false)
@transactional
public class testallfunction {
@resource(name="customerservice")
private icustomerservice customerservice;
@test
public void getallcustomers() {
customerservice.getcustomerbyid("1241470");
}
}