Junit实现spring的单元测试

发表于:2009-9-14 14:08

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing博客转载

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

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号