在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()方法实现
分享到:
相关推荐
5. **整合测试**:Struts2SpringUnitDemo还涉及到了框架的整合测试,这通常是为了确保Struts2的Action能够顺利地与Spring管理的bean交互。整合测试可能会包括检查Action是否能正确地从Spring容器获取依赖,以及在...
### 代码解析:测试Struts2中的Action #### 1. 导入必要的包 ```java package examples; import servletunit.struts.MockStrutsTestCase; import java.io.*; ``` 这里导入了`MockStrutsTestCase`,这是...
通过上述分析,我们可以看出,"moke测试struts的action"涉及的是使用Struts框架构建Web应用时,对Action组件的测试和验证,包括了Action的配置、实现、结果处理以及可能的测试用例设计和执行。在实际项目中,这样的...
在工具方面,可以利用静态代码分析工具(如SonarQube)和动态应用安全测试工具(如OWASP ZAP)来检测和预防Struts2框架的潜在漏洞。此外,持续集成/持续部署(CI/CD)流程中应包含安全扫描步骤,确保在代码部署前就...
根据提供的文件信息,我们可以从《Struts 2实战 Struts2 in Action》这一书籍中提炼出与Struts 2框架相关的多个重要知识点。Struts 2是一个基于Java的开源Web应用框架,它继承了Struts 1的优点并进行了大量的改进和...
- Struts2提供了测试框架,如Struts2 TestNG Plugin,便于进行单元测试和集成测试。 学习并掌握Struts2框架,对于理解Web应用的架构设计和提升开发效率至关重要。通过阅读《Struts2 in action》这本书,你可以深入...
压缩包文件“Struts2_1000_CharacterEncoding”可能包含了示例代码、配置文件或者测试用例,帮助读者理解并解决Struts2框架下处理中文POST参数的具体实现。通过学习这些内容,开发者能够确保在处理多语言环境下,...
Struts2+Spring+Hibernate 中的Action单元测试环境搭建 在软件开发中,单元测试是一种非常重要的测试方法,可以帮助我们确保代码的可靠性和稳定性。在 Struts2+Spring+Hibernate 框架中,对 Action 的单元测试环境...
在Struts2框架中,单元测试对于验证Action类、拦截器、结果类型以及其他核心组件的行为尤其关键。 在Struts2的4.2.4版本中,提供了专门的单元测试jar包,使得开发者能够方便地对Struts2的组件进行单元测试。这个jar...
### Struts 2 Action 动态方法调用详解 #### 一、引言 在Struts 2框架中,Action动态方法调用是一项非常实用的功能。它允许开发者在一个Action类中定义多个处理方法,而不仅仅局限于传统的`execute()`方法。这种...
根据提供的信息,我们可以推断出这是一本关于Struts 2框架的书籍——《Struts 2实战 Struts 2 in action 的中文版》。本书主要介绍了Struts 2框架的相关概念、工作原理以及实际应用案例等内容。接下来,我们将根据...
**Struts2实战——《Struts2 In Action中文版》** 《Struts2 In Action》是一本专为Java开发者设计的实战指南,旨在深入解析Struts2框架的使用与实践。Struts2作为一款强大的MVC(Model-View-Controller)框架,极...
7. **IntelliJ IDEA或Eclipse的Struts2插件**:这些IDE插件可能包含特定于Struts2的测试支持,比如生成Action的测试模板。 压缩包内的"鬼哥struts2测试工具.exe"可能是一个由个人开发者或社区创建的专用测试工具,...
Struts2和Struts1是两个非常著名的Java Web框架,它们在处理请求时通常会在URL中显式地显示.action或.do后缀。然而,为了提供更友好的用户体验和增强安全性,有时我们需要隐藏这些扩展名。本篇文章将详细介绍如何在...
在`test_Struts2`这个压缩包中,可能包含了创建一个简单的Struts2应用的所有必要组件,如Action类、配置文件、JSP页面和可能的测试用例。通过分析和运行这些示例,初学者可以快速掌握Struts2的基本用法和流程,为...
Struts2 中 Action 接收参数的方法 Struts2 框架中,Action 组件可以通过多种方式接收参数,这些方式包括使用 Action 的属性、使用 DomainModel 和使用 ModelDriven。下面将详细介绍这些方法: 使用 Action 的属性...
"Struts2 in Action" 是一本深入探讨Struts2框架的专业书籍,旨在帮助开发者掌握这一框架的核心概念和实践技巧。这本书的中文版不仅提供了理论知识,还附带有配套的源代码,方便读者进行实践操作,加深理解。 ...
Action是Struts2的核心组件,用于处理用户的请求,并返回相应的结果。在现代Web应用中,数据通常以JSON(JavaScript Object Notation)格式在客户端和服务器之间交换,因为JSON具有轻量级、易于解析的特性。本篇将...
《Struts2 in Action》中文版是一本深入探讨Struts2框架的专业书籍,该书不仅提供了详尽的理论知识,还包含了大量的实战案例,对于希望掌握Struts2框架的开发者来说,是一本不可或缺的参考书。 ### Struts2框架概览...