`
ll_feng
  • 浏览: 391214 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何测试struts2的action?

 
阅读更多
在web应用中做action的单元测试,一向比较麻烦.因为它对web容器的依赖。现在有办法了。struts提供了 个测试插件,结合JUnit,可以很方便的进行单元测试,
一、加入struts2-junit-plugin.xxx.jar插件
二、测试类
/**
 * 
 */
package com.auth;

import org.apache.struts2.StrutsSpringTestCase;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.auth.service.UserManager;
import com.auth.web.action.UserAction;
import com.opensymphony.xwork2.ActionProxy;


/**
 * @author llf
 *
 */
public class UserActionTest extends StrutsSpringTestCase{
	private ActionProxy proxy;
	private UserAction action;
	private UserManager manager;
	@Override
	public void setUp() throws Exception{
		super.setUp();			//必须
		ApplicationContext  ctx = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});
		manager = (UserManager)ctx.getBean("userManager");
	}
	
	@Test
	public void testAction() throws Exception{
		proxy = this.getActionProxy("/user_list.action");
		action = (UserAction)proxy.getAction();
		action.setManager(manager);
		String result = action.list();		
		assertEquals("success",result);
	}
}




三、注意
1、strut2-junit-plugin共提供了两个基类:
StrutsTestCase:供普通action继承
StrutsSpringTestCase:供ssh环境中的action继承

2、在ssh环境中一定要super.setUp()

3、action中的注入可以手动用setXxx()方法实现
分享到:
评论

相关推荐

    Struts2SpringUnitDemo单元测试

    5. **整合测试**:Struts2SpringUnitDemo还涉及到了框架的整合测试,这通常是为了确保Struts2的Action能够顺利地与Spring管理的bean交互。整合测试可能会包括检查Action是否能正确地从Spring容器获取依赖,以及在...

    测试struts2中action

    ### 代码解析:测试Struts2中的Action #### 1. 导入必要的包 ```java package examples; import servletunit.struts.MockStrutsTestCase; import java.io.*; ``` 这里导入了`MockStrutsTestCase`,这是...

    moke测试struts的action

    通过上述分析,我们可以看出,"moke测试struts的action"涉及的是使用Struts框架构建Web应用时,对Action组件的测试和验证,包括了Action的配置、实现、结果处理以及可能的测试用例设计和执行。在实际项目中,这样的...

    Struts2漏洞?

    在工具方面,可以利用静态代码分析工具(如SonarQube)和动态应用安全测试工具(如OWASP ZAP)来检测和预防Struts2框架的潜在漏洞。此外,持续集成/持续部署(CI/CD)流程中应包含安全扫描步骤,确保在代码部署前就...

    Struts 2实战 struts2 in Action

    根据提供的文件信息,我们可以从《Struts 2实战 Struts2 in Action》这一书籍中提炼出与Struts 2框架相关的多个重要知识点。Struts 2是一个基于Java的开源Web应用框架,它继承了Struts 1的优点并进行了大量的改进和...

    Struts2 in action(struts2实战)

    - Struts2提供了测试框架,如Struts2 TestNG Plugin,便于进行单元测试和集成测试。 学习并掌握Struts2框架,对于理解Web应用的架构设计和提升开发效率至关重要。通过阅读《Struts2 in action》这本书,你可以深入...

    struts2 使用action属性接收中文参数(post提交)

    压缩包文件“Struts2_1000_CharacterEncoding”可能包含了示例代码、配置文件或者测试用例,帮助读者理解并解决Struts2框架下处理中文POST参数的具体实现。通过学习这些内容,开发者能够确保在处理多语言环境下,...

    Struts2+Spring+hibernate中对action的单元测试环境搭建[总结].pdf

    Struts2+Spring+Hibernate 中的Action单元测试环境搭建 在软件开发中,单元测试是一种非常重要的测试方法,可以帮助我们确保代码的可靠性和稳定性。在 Struts2+Spring+Hibernate 框架中,对 Action 的单元测试环境...

    Struts2单元测试

    在Struts2框架中,单元测试对于验证Action类、拦截器、结果类型以及其他核心组件的行为尤其关键。 在Struts2的4.2.4版本中,提供了专门的单元测试jar包,使得开发者能够方便地对Struts2的组件进行单元测试。这个jar...

    struts2 Action 包 命名空间 servlet API

    Struts2通过FilterDispatcher这个Servlet过滤器来拦截所有到达服务器的请求,判断是否需要由Struts2框架处理,如果是,则根据配置的Action映射调用相应的execute()方法。 Struts2的包结构清晰,每个包都有其特定的...

    struts 2 action 动态调用

    ### Struts 2 Action 动态方法调用详解 #### 一、引言 在Struts 2框架中,Action动态方法调用是一项非常实用的功能。它允许开发者在一个Action类中定义多个处理方法,而不仅仅局限于传统的`execute()`方法。这种...

    Struts 2实战 Struts 2 in action 的中文版

    根据提供的信息,我们可以推断出这是一本关于Struts 2框架的书籍——《Struts 2实战 Struts 2 in action 的中文版》。本书主要介绍了Struts 2框架的相关概念、工作原理以及实际应用案例等内容。接下来,我们将根据...

    Struts2实战(Struts2 In Action中文版)

    **Struts2实战——《Struts2 In Action中文版》** 《Struts2 In Action》是一本专为Java开发者设计的实战指南,旨在深入解析Struts2框架的使用与实践。Struts2作为一款强大的MVC(Model-View-Controller)框架,极...

    struts2测试工具

    7. **IntelliJ IDEA或Eclipse的Struts2插件**:这些IDE插件可能包含特定于Struts2的测试支持,比如生成Action的测试模板。 压缩包内的"鬼哥struts2测试工具.exe"可能是一个由个人开发者或社区创建的专用测试工具,...

    去掉.action去掉.do字样 隐藏struts2 URL地址action, strus1的扩展名do也是同理.zip

    Struts2和Struts1是两个非常著名的Java Web框架,它们在处理请求时通常会在URL中显式地显示.action或.do后缀。然而,为了提供更友好的用户体验和增强安全性,有时我们需要隐藏这些扩展名。本篇文章将详细介绍如何在...

    struts2测试案例

    在`test_Struts2`这个压缩包中,可能包含了创建一个简单的Struts2应用的所有必要组件,如Action类、配置文件、JSP页面和可能的测试用例。通过分析和运行这些示例,初学者可以快速掌握Struts2的基本用法和流程,为...

    Struts2中Action接收参数的方法

    Struts2 中 Action 接收参数的方法 Struts2 框架中,Action 组件可以通过多种方式接收参数,这些方式包括使用 Action 的属性、使用 DomainModel 和使用 ModelDriven。下面将详细介绍这些方法: 使用 Action 的属性...

    Struts2 in action中文版+配套源代码

    "Struts2 in Action" 是一本深入探讨Struts2框架的专业书籍,旨在帮助开发者掌握这一框架的核心概念和实践技巧。这本书的中文版不仅提供了理论知识,还附带有配套的源代码,方便读者进行实践操作,加深理解。 ...

    struts2 action 返回json方法(一)源码

    Action是Struts2的核心组件,用于处理用户的请求,并返回相应的结果。在现代Web应用中,数据通常以JSON(JavaScript Object Notation)格式在客户端和服务器之间交换,因为JSON具有轻量级、易于解析的特性。本篇将...

    Struts2 in action 中文版

    《Struts2 in Action》中文版是一本深入探讨Struts2框架的专业书籍,该书不仅提供了详尽的理论知识,还包含了大量的实战案例,对于希望掌握Struts2框架的开发者来说,是一本不可或缺的参考书。 ### Struts2框架概览...

Global site tag (gtag.js) - Google Analytics