博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单元测试Struts2的Action(包含源码)
阅读量:5968 次
发布时间:2019-06-19

本文共 1994 字,大约阅读时间需要 6 分钟。

很久没有从头搭建Struts2的环境了。最近,认真实践了单元测试Struts2、Spring等 项目。
  今天特意写的是单元测试Struts2的Action,遇到了不少问题,果然是实践出真知啊。
  从搭建环境、写代码到写这篇 ,一共花了90分钟。
  特别说明:本文是原创,搭建环境、写代码、运行,都是实践并且正确的。
  本文是靠谱的,而非简单的复制-粘贴。
  
1.新建工程,加入相关jar包。
  struts.core等struts自己的jar包
  spring-core-3.2.0.RELEASE.jar
  (用到了里面的一些类,比如看起来挺奇怪的,测试Struts2怎么和Spring扯上关系了。
  没有这个包,会报错java.lang.NoClassDefFoundError: org/springframework/core/io/ResourceLoader)
  spring-test-3.2.3.RELEASE.jar
  Junit的jar包
  Tomcat的Server Rumtime lib。
  
2.新建Action。
public class UserAction {
public String list(){
return "success";
}
}
  
3.新建。
package unittest;
import org.apache.struts2.StrutsTestCase;
import org.junit.Test;
import action.UserAction;
import com.opensymphony.xwork2.ActionProxy;
public class ActionUnitTest extends StrutsTestCase {
// 重写父类方法,指定配置文件的名字
protected String[] getContextLocations() {
return new String[] { "struts.xml" };
}
@Test
public void testExecute() throws Exception {
ActionProxy proxy = getActionProxy("/unitTest");
UserAction   = (UserAction) proxy.getAction();
assertNotNull(test);
String result = proxy.execute();
assertEquals("success", result);
}
}
 
4.Struts配置。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!– Development Mode –>
<constant name="struts.devMode" value="true" />
<package name="manager" namespace="/" extends="struts-default">//不是default
<action name="unitTest" class="action.UserAction" method="list">
<result name="success">unitTest.jsp
</result>
</action>
</package>
</struts>
 
 5.访问web页面测试。
  需要在Web.xml中增加
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
访问URL:http://localhost:8080/Struts2UnitDemo/unitTest.action

   

最新内容请见作者的GitHub页:http://qaseven.github.io/

   

转载地址:http://bdhax.baihongyu.com/

你可能感兴趣的文章
第一次作业-准备篇
查看>>
HDU1848 Fibonacci again and again
查看>>
HTML思维导图
查看>>
git改密码出现授权问题
查看>>
Hadoop IO 特性详解(2)
查看>>
ORA-02266: 表中的唯一/主键被启用的外键引用
查看>>
Django的POST请求时因为开启防止csrf,报403错误,及四种解决方法
查看>>
day-6 and day-7:面向对象
查看>>
CSU Double Shortest Paths 湖南省第十届省赛
查看>>
webgl像机世界
查看>>
php正则怎么使用(最全最细致)
查看>>
javascript数学运算符
查看>>
LC.155. Min Stack(非优化,两个stack 同步 + -)
查看>>
Asp.net技巧:gridview获取当前行索引的方法
查看>>
让 vim 在按ESC时自动保存
查看>>
git配置别名
查看>>
SpringMVC配置文件
查看>>
划分数系列问题
查看>>
springboot整合jersey
查看>>
sql定时自动备份(定时作业)
查看>>