论坛首页 入门技术论坛

s2+s2+h3 中的测试类

浏览 1548 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-07-28  
在struts2+spring2+hibernate3 中的测试类
把主要测试文档贴出来

一。。所有的测试集合
import junit.framework.Test;
import junit.framework.TestSuite;
public class AllTests {
public static Test suite() {
TestSuite suite = new TestSuite(
"Test for com.serviceImpl.orderServiceTest");
//$JUnit-BEGIN$

//orderServiceTest
suite.addTestSuite(OrderPubServiceImplTest.class);
suite.addTestSuite(FinaImplTest.class);
suite.addTestSuite(OrderLoadServiceImplTest.class);
suite.addTestSuite(SendGoodsImplTest.class);
suite.addTestSuite(StafferImplTest.class);

//stockServiceTest
suite.addTestSuite(StockBuyServiceImplTest.class);
suite.addTestSuite(StockFinaServiceImplTest.class);
suite.addTestSuite(StockStorServiceImplTest.class);
suite.addTestSuite(StockViewServiceTest.class);

//$JUnit-END$
return suite;
}

}
二。。使用spring的AbstractTransactionalDataSourceSpringContextTests,每个业务测试类都集成此类,测试共用的方法也可以放在里面
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;

import com.opensymphony.xwork2.ActionContext;
import com.entityUserDefined.Orderbean;

public class JunitTest extends
AbstractTransactionalDataSourceSpringContextTests {

public String[] getConfigLocations() {
setAutowireMode(AUTOWIRE_BY_TYPE);
setDefaultRollback(true);
return new String[] {"classpath:applicationContext*.xml" };
}

}
三。一个测试类 。。。

import org.junit.Test;

import test.serviceImpl.AllTests.JunitTest;

import com.service.OrderService.FinaOrderService;

public class FinaImplTest extends JunitTest {

private FinaOrderService finaImpl;
private ActionContext ac = ActionContext.getContext();//模拟session使用

//模拟session时防止出现null值
protected void onSetUp() throws Exception {
if (ac.getSession() == null) {
ac.setSession(new HashMap());
}
super.onSetUp();
}

//为业务接口注入
public void setFinaImpl(FinaOrderService finaImpl) {
this.finaImpl = finaImpl;
}

//模拟session
public void mockStaffInfo() {
StaffInfo si= new StaffInfo ();
staffInfo.setName("测试junit");
staffInfo.setStaffId(6);
ac.getSession().put("staffInfo", staffInfo);
}

public void testSavfinishDate() {
mockStaffInfo();
assertEquals(true, finaImpl.sav("0001"););//测试业务逻辑方法sav
}
}

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics