张玉龙 发表于 2013-2-5 09:42:43

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集合的内容
页: [1]
查看完整版本: Junit测试struts中action