StrutsTestCase是JUnit的一个包装,它提供了非常方便的测试这些Action的方法。
主页:http://strutstestcase.sourceforge.net
关于StrutsTestCase的使用方式
1. 新建的测试类都要继承StrutsTestCase类。
2. 构造Request:
request.setParameter("info", "xxxx");
3. 获取Action的代理:
private ActionProxy proxy = getActionProxy("/login.action");
Action URL,可以写扩展名".action",也可以不写。
4. 执行Action:
String res = proxy.execute();
assertEquals(res, "success");
5. 可以从Response中取出Action返回给前台页面的数据。
String responseInfo = response.getContentAsString();
返回值类型是字符串,格式是json的。
所以可以对它进行json格式的解析,从而得出返回给前台页面的各种对象的值。
PS : 关于Java解析json格式的字符串,可以参考http://blog.csdn.net/h407210874/article/details/37698357
6. 如果要调用Action里的方法,可以先通过Action的代理获得真正的Action对象,
然后Action对象就可以直接调用Action类里的方法了。
private UserAction action = (UserAction) proxy.getAction();
其中,UserAction是要测试的Action的类名。
PS : 需要导入的jar包,可以在http://download.csdn.net/detail/h407210874/7622881下载。
org.springframework.core-3.1.2.RELEASE.jar
spring-test.jar
struts2-junit-plugin-2.3.16.3.jar
xmlbeans-2.3.0.jar
xmlpull-1.1.3.1.jar
xstream-1.4.2.jar
xwork-core-2.3.16.3.jar
PS : 同时还要将需要测试项目的struts.xml文件,复制到测试工程的src目录下。