一、在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
五、写单元测试程序
packageorg.school.test;


//importjava.util.Random;

importjunit.framework.Test;
importjunit.framework.TestSuite;
importservletunit.struts.CactusStrutsTestCase;

importorg.apache.cactus.WebRequest;
importorg.apache.commons.logging.Log;
importorg.apache.commons.logging.LogFactory;



publicclasstestUserActionextendsCactusStrutsTestCase...{
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直接进行测试












四、启动WEB Server
五、写单元测试程序




















































































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