在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
}
}
把主要测试文档贴出来
一。。所有的测试集合
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
}
}