spring提供的单元测试是强大的,spring的单元测试很简单,封装的很好。我们要用spring的单元测试我们写的 add,delete等方法时候需要spring提供的一个额外包spring-mock.jar,我已经传上来了。你只要熟悉单元测试,编写一个测试案例,然后把继承改为 org.springframework.test.AbstractTransactionalDataSourceSpringContextTests 就可以了,此时编译器会提示你要实现。
public String[] getConfigLocations(){
String[] config = new String[]{"applicationContext.xml",
"applicationContext-dao.xml",
"applicationContext-hibernate.xml",
"applicationContext-service.xml"};
return config;
}
看了大家应该明白,就是把你配置好的xml赋值给它,然后大家就可以通过下面方法:
下面的applicationContext这个变量是你只要继承了刚才那个抽象类就可以得到的一个恒量。
FriendService friendService = (FriendService)applicationContext.getBean("friendService");
得到你的实例来进行业务逻辑测试了,是不是很简单,大家试试吧,它在此时完成以后会把数据库回滚一次,不会影响你的数据库记录,非常好。
例子:
package test;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;
import com.starview.netmanager.client.business.dto.InParamPuInfoCache;
import com.starview.netmanager.server.business.pu.PuInfoCacheManager;
import com.extjs.gxt.ui.client.data.PagingLoadConfig;
public class TestExample2 extends AbstractTransactionalDataSourceSpringContextTests {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
}
@Override
protected String[] getConfigLocations() {
String[] config = new String[] { "config/applicationContext.xml"};
return config;
}
public void testDao() throws Exception {
PuInfoCacheManager puInfoCacheManager = (PuInfoCacheManager) applicationContext.getBean("puInfoCacheManager");
InParamPuInfoCache inParam = new InParamPuInfoCache();
puInfoCacheManager.getPuInfoCache(null, inParam);
}
}