junit是java中书写unit test的framework,目前一些流行的unit test工具大都都是在junit上扩展而来的。目前它的版本是junit3.8.1,可以从www.junit.org上下载。
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;
/**//**
* @author paul.ping(wp.huang@ezcross.com)
*
* 类名:SMS10Test
* 操作:
*/
public class LoginActionTest extends MockStrutsTestCase {
/**//*
* @see TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
}
/**//*
* @see TestCase#tearDown()
*/
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集合的内容
具体详细的内容请参见对应的javaDoc。
posted on 2005-06-03 15:53
kelly 阅读(1661)
评论(1) 编辑 收藏 所属分类:
java