在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
}
}
分享到:
相关推荐
【标题】"S2S2H3三大框架整合写的增删查改,源码"指的是一个集成Spring、Struts2和Hibernate3(简称SSH)的Web应用示例,该示例实现了基本的数据操作功能,包括增加(Insert)、删除(Delete)、查询(Query)和修改...
总结来说,"J2EE平台下的s2s2h3包"代表了一个包含Spring、Struts和Hibernate框架的集合,这些框架是构建J2EE企业级应用的关键工具,它们通过提供分层架构和强大的功能,帮助开发者创建高效、可扩展且易于维护的Web...
Struts2、Spring和Hibernate是Java Web...然而,随着技术的发展,现在的趋势更多地转向Spring Boot和Spring MVC,它们提供了更简洁的配置和更强大的功能,但理解S2S2H3的集成仍然对理解现代Java Web开发有重要价值。
- 在MyEclipse中新建一个Web项目,命名为S2S3H3。 3. **引入Struts2依赖** - 将所需的8个Struts2.3.4 JAR包复制到WebRoot\WEB-INF\lib目录下。 4. **配置Struts2** - 在src目录下创建struts.xml文件,这是...
这些jar文件的集合"**s2s3h3-jar**"意味着包含了Struts2、Spring3和Hibernate3的库,开发者可以利用这些库快速搭建SSH框架的项目。然而,值得注意的是,虽然这些jar文件提供了基本的框架支持,但为了实际开发,还...
7. **测试与优化**:编写测试用例,验证SSH整合是否成功,然后根据实际需求进行性能调优。 **注意事项** 1. 确保所有依赖版本兼容,避免因版本不匹配导致的问题。 2. 在配置文件中,避免硬编码,尽可能使用占位符...
Spring2的DI允许对象间的依赖关系通过外部容器进行管理,而不是硬编码在类内部,这使得代码更加灵活和易于测试。AOP则提供了一种在不修改源代码的情况下,对程序进行功能增强的手段,如日志记录、事务管理等。Spring...
在实际项目中,s2sh整合提供了一种强大而灵活的架构,可以有效地分离关注点,提高代码的可测试性和可维护性。同时,由于这三大框架都有丰富的社区支持和插件,可以根据项目需求进行扩展和定制。然而,这也意味着...
Struts2、Hibernate3和Spring是Java开发中的三大框架,它们的组合被称为“S2H3S”,在企业级应用开发中广泛应用。这个压缩包文件很可能是为了展示或教学这三者如何协同工作的一个小型示例项目。 Struts2是一个MVC...
4. **项目结构**:Y2T014_s2h3可能代表项目的目录结构,通常包含src/main/java(源代码)、src/main/resources(资源文件,如Hibernate的配置和映射文件)、WEB-INF(Web应用的私有部分,包括web.xml)等。...
- 正确的离子方程式应反映电解质在水中的实际电离情况,如NaHS的电离生成Na+和HS-,而HS-进一步电离生成H+和S2-。 - Al(OH)3的电离是多步骤的,不是简单的离子式表示。 - (NH4)2SO4完全电离成NH4+和SO42-。 - HF...
运行项目后,浏览器中输入应用的URL,可以看到应用启动并可能提供一个简单的测试页面。通过这个页面,可以验证Struts2的控制器是否正常工作,Spring是否成功注入了依赖,以及Hibernate是否能正确连接数据库并自动...
3. **元素周期表结构**:钴位于周期表的第四周期,但不在IIA族,而是过渡元素,其基态核外电子排布应为[Ar]3d74s2。选项A和B错误,C选项正确,Co2+失去4s上的两个电子,剩余3d7,是高自旋状态,因此价电子排布为3d7...
在Chapter17_S2S2H3目录中,可能包含以下内容: 1. 项目的结构示例,展示了各个框架配置文件的位置和名称。 2. 源代码,包括Action类、Service类、DAO类以及实体类,展示如何在代码中使用Spring、Struts2和Hibernate...
在你提供的压缩包文件“s2s2h3_lib”中,可能包含了上述框架的库文件,以及示例代码或者配置文件,可以帮助你理解并实践SSH整合。在学习和实践中,一定要理解和掌握每个框架的核心概念,以及它们如何协同工作,这样...
net.addLink(h3, s2) net.addLink(s1, s2) ``` 5. **启动网络并进行测试**: ```python net.build() c0.start() s1.start([c0]) s2.start([c0]) net.pingAll() CLI(net) net.stop() ``` 通过以上步骤...
"spring0307_f_s2s3h3ProjectWeb"这个文件名可能代表这是一个特定版本的SSH项目,可能包含了Web应用的源代码、配置文件、数据库连接配置等。在这个项目中,你可能会看到以下几个关键部分: 1. **src**目录:包含...
Hibernate通过对象关系映射(ORM)技术,将数据库中的表映射为Java类,从而可以在Java代码中直接操作对象,而无需编写SQL语句。这大大提高了开发效率,降低了数据层的复杂性。 在**MyEclipse** 中快速搭建SSH框架的...