`

Struts2单元测试 使用Junit测试Action

阅读更多

  使用Struts2的Junit Plugin测试Action是非常的方便的,如果在开发中采用TDD模式的话推荐使用。不说废话了,直入主题,已具体实例说话!

1、在原有的Struts2工程加入JUnit Plugin和它依赖的Spring包:
  

struts2-junit-plugin-2.1.8.jar

struts2-convention-plugin-2.1.8.jar
org.springframework.core-3.0.3.RELEASE.jar
org.springframework.test-3.0.3.RELEASE.jar

 

*补充:在Eclipse中要导入servlet-api.jar、jsp-api.jar包(转载者)。


2、新建个Action,我这里采用的Annotation的方式,可以实现零配置。TestAction.java

@Result(location = "/index.jsp")
public class TestAction extends ActionSupport {
    private String param;

    public String execute() {
        return SUCCESS;
    }

    public String getParam() {
        return param;
    }

    public void setParam(String param) {
        this.param = param;
    }

}


3、在工程中添加JUnit包(此步骤略了,搞不定这部的就不要看此篇文章啦!),创建TestCase,TestActionTest.java

import java.robinleex.action.TestAction;

import org.apache.struts2.StrutsTestCase;
import org.junit.Test;

import com.opensymphony.xwork2.ActionProxy;

public class TestActionTest extends StrutsTestCase {

    @Test
    public void testExecute() throws Exception {
        ActionProxy proxy = null;
        TestAction test = null;
        
        request.setParameter("param", "test...");
        proxy = getActionProxy("/test.action");
        test = (TestAction)proxy.getAction();

        String result = proxy.execute();
        
        assertEquals("success", result);
        assertEquals("test...", test.getParam());



    }

}


跑起来就可以了,非常好用,这个示例测试在Action当中传入一个参数并取出参数值。JUnit Plugin会模拟Servlet容器,模拟出HttPServletRequest,HttpServletResponse,ServletContext,PageContext...

转自:http://blog.chinaunix.net/u3/117605/showart_2292982.html

分享到:
评论

相关推荐

    Struts2SpringUnitDemo单元测试

    Struts2SpringUnitDemo是一个示例项目,...通过这个项目,开发者可以学习到如何在实际应用中结合Struts2和Spring的优势,以及如何使用单元测试确保代码的健壮性。这对于提升Java Web应用的开发效率和质量具有重要意义。

    Struts2单元测试

    在使用Struts2单元测试jar包时,开发者可以利用JUnit等测试框架,结合Mockito、PowerMock等工具来编写测试用例。测试用例应覆盖所有可能的输入和异常情况,以确保代码的健壮性。此外,使用持续集成工具(如Jenkins或...

    Junit 单元测试完整案例

    1. Struts2的测试挑战:由于Struts2处理请求的方式,直接进行单元测试可能会比较复杂,通常需要模拟Action和Result。 2. 使用Mockito:Mockito是一个流行的Java模拟框架,可以帮助我们模拟依赖,使测试更隔离。 3....

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

    在搭建单元测试环境时,需要使用的 Jar 包有 junit4.jar 和 struts2-junit-plugin-2.1.8.jar。junit4.jar 是 Eclipse 自带的,可以在项目路径中导入。struts2-junit-plugin-2.1.8.jar 是 Struts2 提供的测试插件,...

    Struts2框架单元测试代码

    在Struts2中,我们通常使用JUnit作为单元测试工具,结合Mockito等库来模拟依赖,进行隔离测试。 首先,了解Struts2的执行流程:请求到达Servlet容器后,通过StrutsPrepareAndExecuteFilter转发到Struts2的核心拦截...

    struts2-junit-plugin-2.1.8.1.jar

    Junit则是Java编程语言中最常用的单元测试框架,它简化了对代码进行测试和调试的过程。 `struts2-junit-plugin-2.1.8.1.jar` 是一个特定版本的Struts2 JUnit插件,它的版本号是2.1.8.1。这个插件允许开发者在JUnit...

    Struts2之Servlet API及单元测试初识案例struts005

    在Struts2中,可以使用JUnit进行Action的单元测试。测试主要关注以下几个方面: 1. **Action的执行逻辑**:测试Action的`execute`方法是否能正确地返回期望的结果代码(如SUCCESS或ERROR)。 2. **模型验证**:如果...

    Junit测试Action

    【标题】"Junit测试Action"涉及的是在Java开发中使用JUnit进行Action类的单元测试。JUnit是一款广泛使用的Java编程语言的单元测试框架,它使得开发者能够方便地编写和执行测试用例,确保代码的质量和功能的正确性。 ...

    struts2-junit-plugin-2.1.6.jar

    在Struts2中,测试是确保代码质量的重要环节,而`struts2-junit-plugin`则是Struts2框架的一个插件,专门用于集成JUnit进行单元测试。 JUnit是一款广泛使用的Java编程语言的单元测试框架。通过JUnit,开发者可以...

    struts-json-plugin-2.1.8.jar struts2-junit-plugin-2.1.8.jar json-lib-2.1.jar

    它扩展了JUnit,使得Struts2的控制器可以在单元测试环境中运行,从而能够更好地测试Action和整个MVC流程。这个插件在2.1.8版本中也包含了对Struts2核心库的依赖,确保了测试的兼容性。 最后,`json-lib-2.1.jar`是...

    struts2测试工具

    1. **JUnit**:这是一个Java编程语言的单元测试框架,可以用来编写和运行针对Struts2 Action类的测试用例。 2. **Mockito**:它允许模拟对象,使你可以在不依赖实际环境的情况下测试Struts2的动作类和其他依赖组件...

    ssh2单元测试action的例子

    通过引入`struts2-junit-plugin`,我们可以利用JUnit框架来编写和执行针对Struts2 Action的单元测试。同样地,该依赖的作用域也是`test`。 此外,文档还提到需要引入`struts2-spring-plugin`以支持SSH2框架中Spring...

    mock struts1 测试

    通过这些关键方法的组合使用,可以有效地模拟出Struts1框架中的运行环境,从而实现对Action类的单元测试。 #### 五、总结 本文详细介绍了如何使用Mock技术来进行Struts1框架的单元测试。通过引入StrutsTest框架,...

    struts2_spring3.0_Junit4.7_Maven2.2.1_整合运行说明_培训.pdf )

    通过JUnit,开发者可以方便地编写针对Struts2 Action和Spring Service层的单元测试,从而确保代码的质量。 #### Maven2.2.1 Maven是一个项目管理和理解工具,它提供了一套标准的构建生命周期,能够自动化构建过程中...

    Struts 1.2 如何测试ActionPDF

    由于Struts 1.x中的Action类紧密依赖于Servlet容器,因此对其进行单元测试时会遇到一些挑战。 #### Struts 1.2 中的 Action 类 在Struts 1.2框架中,Action类通常负责处理用户的HTTP请求,并将控制权交给适当的视图...

    hibernate、struts、mysql、junit等jar包

    4. JUnit:JUnit是Java编程语言的一个单元测试框架,用于编写和运行可重复的测试用例。在开发过程中,单元测试是确保代码质量的重要手段。JUnit提供了断言方法来验证预期结果,以及注解来控制测试执行。引入junit....

    moke测试struts的action

    8. **测试策略**:为了确保Action的正确性,我们可以编写单元测试,使用如JUnit或TestNG等测试框架,模拟HTTP请求并验证Action的执行结果。 通过上述分析,我们可以看出,"moke测试struts的action"涉及的是使用...

    junit struts2.0和资源见解,和项目

    在IT行业中,JUnit和Struts2.0是两个非常重要的框架,它们分别专注于单元测试和Web应用程序开发。这里,我们将深入探讨这两个技术以及如何在实际项目中应用它们,并结合资源见解来提升开发效率。 首先,JUnit是Java...

    spring测试、struts测试、hibernate测试、软件测试、网站测试、利用JBuilder测试的单元测试技术

    对于Struts应用,我们通常使用Struts Test或Struts2 Unit来进行单元测试和集成测试。这些工具允许开发者模拟Action类的行为,检查结果映射和处理请求的结果。 Hibernate测试涉及的是对象关系映射(ORM)框架...

    struts2.3.7 - 集成测试案例

    为了进行这些测试,开发者通常会使用JUnit或TestNG这样的单元测试框架,配合Mockito等工具来模拟环境和依赖。此外,Struts2还提供了专门的测试库,如Struts2 Testing Plugin,可以帮助简化测试流程。 在实际的案例...

Global site tag (gtag.js) - Google Analytics