`

Junit4使用汇总(四)spring+struts2

 
阅读更多

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 的 jar包汇总

    总之,Struts2、Hibernate和Spring的结合使用,为Java Web开发提供了一种强大、灵活且可扩展的解决方案。它们各自的特性相互补充,使得开发者可以更专注于业务逻辑,而不是底层的实现细节。同时,MySQL和Junit的加入...

    Spring面试题汇总.pdf

    Spring的主要设计目标是提供一个一站式的轻量级应用开发平台,支持面向接口的编程,降低JavaEE API的使用难度,同时提供灵活的扩展性,易于与其他开源框架如Struts、Hibernate、MyBatis等集成。Spring框架通过IoC...

    ssh 配置汇总

    4. **整合配置**:在Struts的ActionServlet中加载Spring应用上下文,使Struts能够利用Spring的IoC功能。同时,Spring通过AOP代理来管理Struts的Action,实现事务控制。 5. **测试与运行**:编写JUnit测试用例,验证...

    SSH项目相关jar包汇总

    SSH(Struts2、Spring、Hibernate)是Java Web开发中常用的一种框架组合,它整合了三个强大的开源框架,用于构建高效、灵活且可扩展的企业级应用程序。本资源包含SSH项目所需的大部分jar包,这些jar包涵盖了项目的...

    JSP基于SSM家庭财务理财记账管理系统源码案例设计.zip

    通过这个项目,学习者可以深入理解如何结合JSP、SSM框架(Spring、Struts2、MyBatis)来构建一个完整的Web应用,同时也能了解到如何进行数据库设计、前端开发、安全性控制以及测试等关键环节。对于想要提升Java Web...

    毕业论文jsp974网上教务评教系统ssh.doc

    该系统采用Struts2框架、Hibernate持久层框架、Spring框架、MySQL数据库,使用xml配置方式,保证配置的清晰、可维持性。前台技术包括jsp、javascript、css、ajax,并使用了开源的JavaScript框架jQuery。 系统的主要...

    学生成绩管理系统(SSH+MYSQL)130221.rar

    这里我们将主要探讨学生成绩管理系统,该系统基于SSH(Spring、Struts、Hibernate)框架和MySQL数据库,这是一个常见的企业级应用开发组合。 SSH框架是Java Web开发中常用的三大开源框架集成,它们各自承担着不同的...

    2013JAVA面试资料汇总

    10. **框架知识**:SSH(Struts、Spring、Hibernate)是Java Web开发常用的三大框架。面试中可能会考察这些框架的基本概念,配置,以及如何解决实际问题。 11. **数据库**:理解SQL语言,包括基本查询、连接查询、...

    班费管理系统(SSH)

    SSH 是Struts2、Spring 和Hibernate这三大框架的简称,它们是Java Web开发中的核心技术,用于构建高性能、可维护的Web应用程序。 1. **Struts2框架**:Struts2是MVC(Model-View-Controller)设计模式的一种实现,...

    appfuse-documentation-2.1.0官方文档

    它包含了诸如 Hibernate、ibatis、Struts、Spring、DBUnit、Ant、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit 和 JSTL 等组件。这些工具和框架被精心集成到一起,以便为开发者提供一套完整的开发解决...

    java面试题总汇《很经典的》

    12. **框架知识**:如Spring框架的IoC和AOP原理,MyBatis的使用,Struts或Spring MVC的MVC设计模式等。 13. **网络编程**:TCP/IP协议,套接字编程,HTTP协议,以及Java的Socket和ServerSocket类。 14. **Java 8及...

    30种java技术框架-方案架构图汇总.zip

    5. **Struts2**:基于MVC设计模式的Web应用框架,提供拦截器机制,可与其他框架集成,如Spring。 6. **Play Framework**:现代、快速的Web框架,使用Scala和Java语言,采用异步处理模型,适合构建高性能Web应用。 ...

Global site tag (gtag.js) - Google Analytics