关闭

单元测试Struts2的Action(包含源码)

发表于:2013-9-29 11:02

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:FansUnion    来源:51Testing软件测试网采编

  很久没有从头搭建Struts2的环境了。最近,认真实践了单元测试Struts2、Spring等Java项目。
  今天特意写的是单元测试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 test = (UserAction) proxy.getAction();
assertNotNull(test);
String result = proxy.execute();
assertEquals("success", result);
}
}
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号