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集合的内容


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值