一、在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;


//
import java.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
...
{
protected final Log log = LogFactory.getLog(getClass());


public testUserAction(String arg)...{
super(arg);
}

public void beginRegister(WebRequest theRequest) ...{
// theRequest.addHeader("METHOD", "POST");
// theRequest.addParameter("param", "value", WebRequest.POST_METHOD);
// Random rand=new Random();
//加载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);
}



public void testRegister() ...{
setRequestPathInfo("/register");
actionPerform();
verifyNoActionErrors();
}

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

public static Test suite()...{
TestSuite suite=new TestSuite();
//

suite.addTest(new testUserAction("testRegister"));
suite.addTest(new testUserAction("testLogin"));
suite.addTest(new testUtil("testMD5"));
return suite;
}
@Override

protected void setUp() throws Exception ...{
super.setUp();
}

@Override

protected void tearDown() throws Exception ...{
super.tearDown();
}

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












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




















































































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