StrutsTestCase测试方法
1.下载StrutsTestCase的包,可以从sf上获得;
http://sourceforge.net/project/showfiles.php?group_id=39190我的测试环境
eclispe 3.1.2 + myeclipse 4.1.0 +tomcat 5.5 + struts 1.2 + StrutsTestCase 2.1.3
可能会出现的错误:
1. web.xml 找不到
解决办法:
在你的测试类的方法中setUp() 中指定你的web.xml的位置
public void setUp() throws Exception {
super.setUp();
File web = new File("D:/Workspace/Wei/WebRoot");
this.setContextDirectory(web);
setConfigFile("D:/Workspace/Wei/WebRoot/WEB-INF/web.xml");
setConfigFile("D:/Workspace/Wei/WebRoot/WEB-INF/struts-config.xml");
}
2.......Transormer.class 未找到
要加入commons-collections-3.1.jar这个包,不然也会报错.
3.如果本页面的代码比较乱,可以通过复制到eclipse 中 ctrl+shfit+F 重新排版;
我的测试类
package test;
import java.io.File;
import servletunit.struts.MockStrutsTestCase;
public class TestLoginAction extends MockStrutsTestCase {
/**
* @param args
*/
public void setUp() throws Exception {
super.setUp();
File web = new File("D:/Workspace/Wei/WebRoot");
this.setContextDirectory(web);
setConfigFile("D:/Workspace/Wei/WebRoot/WEB-INF/web.xml");
setConfigFile("D:/Workspace/Wei/WebRoot/WEB-INF/struts-config.xml");
// setContextDirectory(new File("WebRoot"));
// setConfigFile("/WEB-INF/struts-config.xml");
}
public void tearDown() throws Exception {
super.tearDown();
}
public TestLoginAction(String testName) {
super(testName);
}
public void testAction() {
setRequestPathInfo("/login");
addRequestParameter("pas","pas");
//verifyInputForward();
//assertNull(request.getSession().getAttribute("ses"));
actionPerform();
//verifyInputForward();
//verifyNoActionErrors();
verifyForwardPath("/form/login.jsp");
}
// } }
}