使用cactus进行单元测试的方法

一、在web.xml中配置返调servlet
< servlet >
< servlet-name > ServletRedirector </ servlet-name >
< servlet-class >
org.apache.cactus.server.ServletTestRedirector
</ servlet-class >
</ servlet >
< servlet-mapping >
< servlet-name > ServletRedirector </ servlet-name >
< url-pattern > /ServletRedirector </ url-pattern >
</ servlet-mapping >
二、在classes目录下配置cactus.properties配置文件
cactus.contextURL = http://localhost: 8080 /school测试的URL
cactus.servletRedirectorName
= ServletRedirector反调Servlet名称
三、拷贝cactus库到lib目录下
四、启动WEB Server
五、写单元测试程序
package org.school.test;


// importjava.util.Random;

import junit.framework.Test;
import junit.framework.TestSuite;
import servletunit.struts.CactusStrutsTestCase;

import org.apache.cactus.WebRequest;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;


public class testUserAction extends CactusStrutsTestCase ... {
protectedfinalLoglog=LogFactory.getLog(getClass());


publictestUserAction(Stringarg)...{
super(arg);
}


publicvoidbeginRegister(WebRequesttheRequest)...{
//theRequest.addHeader("METHOD","POST");
//theRequest.addParameter("param","value",WebRequest.POST_METHOD);
//Randomrand=newRandom();
//加载post数量
theRequest.addParameter("username","jingmin",WebRequest.POST_METHOD);
theRequest.addParameter(
"password","vkbje76",WebRequest.POST_METHOD);
theRequest.addParameter(
"repassword","vkbje76",WebRequest.POST_METHOD);
theRequest.addParameter(
"email","vkbje76@163.com",WebRequest.POST_METHOD);
}



publicvoidtestRegister()...{
setRequestPathInfo(
"/register");
actionPerform();
verifyNoActionErrors();
}


publicvoidtestLogin()...{
setRequestPathInfo(
"/login");
addRequestParameter(
"username","jingmin");
addRequestParameter(
"password","vkbje76");
actionPerform();
//Enumerationnames=request.getAttributeNames();
//while(names.hasMoreElements()){
//Stringname=(String)names.nextElement();
//log.error(name);
//}
//log.error(request.getAttribute("org.apache.struts.action.MESSAGE"));
verifyNoActionErrors();
}


publicstaticTestsuite()...{
TestSuitesuite
=newTestSuite();
//

suite.addTest(
newtestUserAction("testRegister"));
suite.addTest(
newtestUserAction("testLogin"));
suite.addTest(
newtestUtil("testMD5"));
returnsuite;
}


@Override
protectedvoidsetUp()throwsException...{
super.setUp();
}


@Override
protectedvoidtearDown()throwsException...{
super.tearDown();
}


}


五、进行单元测试
以上方法可以对struts+spring+Hibernate进行测试,还可以配置文件在WEB Servlet直接进行测试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值