技术开发 频道

Junit实现spring的单元测试

  【IT168技术文档】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);

  }

  }

0
相关文章