s2+s2+h3 中的测试类

本文介绍了一个基于Struts2、Spring和Hibernate的技术栈进行单元测试的例子。通过JUnit框架,文章展示了如何设置测试环境,组织测试类,并具体实施了业务逻辑层的测试方法。文中特别关注了如何模拟业务场景及验证业务逻辑正确性的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值