Junit测试struts中action

http://sourceforge.net/projects/strutstestcase/files/strutstestcase/2.1.4/strutstest214-1.2_2.4.zip/download






用StrtusTest的话可以参考下面这篇文章,作者xunmengren :

StrtusTest是junit的扩展当前的版本是StrutsTest2.1.0,在这个版本中不支持Struts1.0。如果需要测试struts1.0的应用程序,对应的版本是StrutsTest2.0。可以从http://sourceforge.net/projects/strutstestcase/下载。

    下面介绍一下它的使用。直接把解压的下载文件保存到项目的classpath中,然后再引入这两个jar文件,就可以使用了。

    右击项目中任何一个文件夹,选择news的others,这时就会出现Junit的文件夹,展开文件夹选择JUnit Test Case ,点击下一步,在Name中填写测试程序的名字,一般名字必须以Test结尾。然后构选setup()和teardown()选项,选择需要测试的 Action,点击下一步,选择需要测试的方法,点击Finish即可自动生成测试文件。测试文件中自动生成了setup()和teardown()方法,用来在测试方法执行前初始化测试环境和在执行后撤销测试环境。测试方法都是以test开头的,如(testDoExecute()).

     下面在测试方法中就可以填写自己需要的东西了。如下面的例子:

package com.ezcross.SMS.common.struts.action;

import servletunit.struts.MockStrutsTestCase;



public class LoginActionTest extends MockStrutsTestCase {

   

    protected void setUp() throws Exception {

        super.setUp();

    }

   

    protected void tearDown() throws Exception {

        super.tearDown();

    }

    public void testDoExecute() {

        try

        {

            addRequestParameter("user_name","cka");

            addRequestParameter("passward","111111");

            setRequestPathInfo("/login");

            System.out.println("hava completed adding data");

            actionPerform();

            System.out.println("begin verify");

            verifyForward("dologin");

            verifyForwardPath("/Login.jsp");

            verifyNoActionErrors();

            System.out.println("end verify");

                        //assertNotNull(testObject.doExecute(null,null,null,null,null));

        }

        catch (Exception ee)

        {

            System.out.println(ee.toString());

        }

    }

}



填写完程序后,右击程序,选择run下的JUnit Test进行运行,如果没有错误的话则显示绿色 ,否则显示红色。



对程序的说明:

主要函数和作用:

-          setContextDirectory,设置web应用的根

-          setRequestPathInfo,设置request的请求

-          addRequestParameter,将参数和对应的值加入request中

-          actionPerform,执行这个请求

-          verifyForward,验证forward的名字是否正确

-          verifyForwardPath,验证forward的path是否正确

-          verifyNoActionErrors,验证在action执行过程中没有ActionError产生

-          verifyActionErrors,验证在action执行过程中产生的ActionError集合的内容









猜你喜欢

转载自zhangyulong.iteye.com/blog/1033220
今日推荐