1,准备工作:
继承 StrutsSpringJUnit4TestCase
重写 setupBeforeInitDispatcher
具体开始实现时
获取bean: applicationContext.getBean("companyInfoDao")
获取Action: getActionProxy("/bns/company/CompanyInfo/companyGrade.do")
设置参数: request.setParameter("companyId", "17");
部分实际代码:
@Override protected void setupBeforeInitDispatcher() throws Exception { GenericXmlContextLoader xmlContextLoader = new GenericXmlContextLoader(); applicationContext = xmlContextLoader .loadContext(files); //aCtx = applicationContext; this.servletContext.setAttribute( WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, applicationContext); }
@Test @TestCaseMetadata(title = "test junit action", owner = "lidao") public void testExecute() throws Exception { ActionProxy proxy = null; CompanyInfoAction test = null; applicationContext.getBean("companyInfoManager"); request.setParameter("companyId", "17"); // /Manufacture/bns/company/CompanyInfo/list.do proxy = getActionProxy("/bns/company/CompanyInfo/companyGrade.do"); test = (CompanyInfoAction)proxy.getAction(); String result = proxy.execute(); assertEquals("/bns/company/CompanyInfo/companyGrade.jsp", result); request.getAttribute("GSON_RESULT_OBJECT"); // assertEquals("test...", test.getParam()); }
网上看还有一种写法更简单如下
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration({ "classpath:conf-spring/spring-dao.xml", "classpath:conf-spring/spring-service.xml", "classpath:conf-spring/spring-controller.xml" }) @TransactionConfiguration(transactionManager="transactionManager") //可选,默认就是这个 @Transactionnal public class BaseSpringTestCase{ }
相关推荐
总之,Struts2、Hibernate和Spring的结合使用,为Java Web开发提供了一种强大、灵活且可扩展的解决方案。它们各自的特性相互补充,使得开发者可以更专注于业务逻辑,而不是底层的实现细节。同时,MySQL和Junit的加入...
Spring的主要设计目标是提供一个一站式的轻量级应用开发平台,支持面向接口的编程,降低JavaEE API的使用难度,同时提供灵活的扩展性,易于与其他开源框架如Struts、Hibernate、MyBatis等集成。Spring框架通过IoC...
4. **整合配置**:在Struts的ActionServlet中加载Spring应用上下文,使Struts能够利用Spring的IoC功能。同时,Spring通过AOP代理来管理Struts的Action,实现事务控制。 5. **测试与运行**:编写JUnit测试用例,验证...
SSH(Struts2、Spring、Hibernate)是Java Web开发中常用的一种框架组合,它整合了三个强大的开源框架,用于构建高效、灵活且可扩展的企业级应用程序。本资源包含SSH项目所需的大部分jar包,这些jar包涵盖了项目的...
通过这个项目,学习者可以深入理解如何结合JSP、SSM框架(Spring、Struts2、MyBatis)来构建一个完整的Web应用,同时也能了解到如何进行数据库设计、前端开发、安全性控制以及测试等关键环节。对于想要提升Java Web...
该系统采用Struts2框架、Hibernate持久层框架、Spring框架、MySQL数据库,使用xml配置方式,保证配置的清晰、可维持性。前台技术包括jsp、javascript、css、ajax,并使用了开源的JavaScript框架jQuery。 系统的主要...
这里我们将主要探讨学生成绩管理系统,该系统基于SSH(Spring、Struts、Hibernate)框架和MySQL数据库,这是一个常见的企业级应用开发组合。 SSH框架是Java Web开发中常用的三大开源框架集成,它们各自承担着不同的...
10. **框架知识**:SSH(Struts、Spring、Hibernate)是Java Web开发常用的三大框架。面试中可能会考察这些框架的基本概念,配置,以及如何解决实际问题。 11. **数据库**:理解SQL语言,包括基本查询、连接查询、...
SSH 是Struts2、Spring 和Hibernate这三大框架的简称,它们是Java Web开发中的核心技术,用于构建高性能、可维护的Web应用程序。 1. **Struts2框架**:Struts2是MVC(Model-View-Controller)设计模式的一种实现,...
它包含了诸如 Hibernate、ibatis、Struts、Spring、DBUnit、Ant、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit 和 JSTL 等组件。这些工具和框架被精心集成到一起,以便为开发者提供一套完整的开发解决...
12. **框架知识**:如Spring框架的IoC和AOP原理,MyBatis的使用,Struts或Spring MVC的MVC设计模式等。 13. **网络编程**:TCP/IP协议,套接字编程,HTTP协议,以及Java的Socket和ServerSocket类。 14. **Java 8及...
5. **Struts2**:基于MVC设计模式的Web应用框架,提供拦截器机制,可与其他框架集成,如Spring。 6. **Play Framework**:现代、快速的Web框架,使用Scala和Java语言,采用异步处理模型,适合构建高性能Web应用。 ...