SpringMVC是用Junit测试
作者:网络转载 发布时间:[ 2015/1/13 14:01:01 ] 推荐标签:软件测试工具 JUnit 白盒测试工具
action层测试基础类:JUnitActionBase
package test.test;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.junit.BeforeClass;
import org.springframework.mock.web.MockServletContext;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.XmlWebApplicationContext;
import org.springframework.web.servlet.HandlerAdapter;
import org.springframework.web.servlet.HandlerExecutionChain;
import org.springframework.web.servlet.HandlerMapping;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter;
import org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping;
/**
* JUnit测试action时使用的基类
*
* @author fule
*
*/
public class JUnitActionBase {
private static HandlerMapping handlerMapping;
private static HandlerAdapter handlerAdapter;
/**
* 读取配置文件
*/
@BeforeClass
public static void setUp() {
if (handlerMapping == null) {
String[] configs = {
"file:src/config/applicationContext.xml" };
XmlWebApplicationContext context = new XmlWebApplicationContext();
context.setConfigLocations(configs);
MockServletContext msc = new MockServletContext();
context.setServletContext(msc);
context.refresh();
msc.setAttribute(
WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE,
context);// TODO
handlerMapping = (HandlerMapping) context
.getBean(DefaultAnnotationHandlerMapping.class);
handlerAdapter = (HandlerAdapter) context
.getBean(context
.getBeanNamesForType(AnnotationMethodHandlerAdapter.class)[0]);
// handlerAdapter = (HandlerAdapter) context.getBean(context
// .getNamespace());
}
}
/**
* 执行request请求的action
*
* @param request
* @param response
* @return
* @throws Exception
*/
public ModelAndView excuteAction(HttpServletRequest request,
HttpServletResponse response) throws Exception {
// 这里需要声明request的实际类型,否则会报错
request.setAttribute(HandlerMapping.INTROSPECT_TYPE_LEVEL_MAPPING, true);
HandlerExecutionChain chain = handlerMapping.getHandler(request);
ModelAndView model = null;
try {
model = handlerAdapter
.handle(request, response, chain.getHandler());
} catch (Exception e) {
e.printStackTrace();
}
return model;
}
}
|
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
JUnit测试单元框架使用Junit测试用例使用Junit等工具进行单元测试Android下的Junit测试Android中使用Junit进行单元测试JUnit编写单元测试代码注意点小结Junit单元测试以及github的使用JUnit基础及第一个单元测试实例(JUnit3.8)Spring 4.0 JUnit简单的Controller测试结对项目Junit测试用例Myeclipse使用JUnit进行单元测试Maven结合Junit进行单元测试Linux下Junit测试用例编译与运行配置用Junit Test Suite来管理测试用例Jenkins+Ant+Java+Junit+SVN使用总结Android单元测试Junit的配置
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南