亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
Spring框架中使用Junit單元測試
作者:網絡轉載 發布時間:[ 2016/3/2 13:37:39 ] 推薦標簽:單元測試 Junit

  前言:
  該代碼適用于與spring框架整合的項目
  代碼:
  dao層的junit測試父類
  junitDaoBase.java
package cn.firstflag.crm.dao;
import javax.annotation.Resource;
import javax.sql.DataSource;
import org.apache.log4j.Logger;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import cn.firstflag.crm.controller.BaseController;
/**
* @Description junit DAO層父類
* @Author zhanmin.zheng
* @CreateDate 2016/01/1
* @ModifyDate
* @Version 1.0
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:root-context.xml","classpath:mvc-context.xml"})//spring配置文件全部加入
public class JUnitDaoBase extends AbstractTransactionalJUnit4SpringContextTests {
protected Logger log = Logger.getLogger(BaseController.class);//log4j
@Override
@Resource(name = "dataSource")
public void setDataSource(DataSource dataSource) {
super.setDataSource(dataSource);
}
}
  service層的junit測試父類
  junitServiceBase.java
package cn.firstflag.crm.service;
import org.apache.log4j.Logger;
import org.junit.Before;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import cn.firstflag.crm.controller.BaseController;
/*
* @ClassName Service測試類父類
* @Author zhanmin.zheng
* @CreateDate 2016/02/16
* @Version 1.0
*/
public class JunitServiceBase {
protected Logger log = Logger.getLogger(BaseController.class);//log4j
protected ApplicationContext context;//應用上下文
public JunitServiceBase() {
context = new ClassPathXmlApplicationContext(new String[]{
"classpath:root-context.xml","classpath:mvc-context.xml"});
}
}
  controller層的junit測試父類
  需要在spring配置中注入兩個bean
<bean
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
JUnitActionBase.java
package cn.firstflag.crm.controller;
import static org.junit.Assert.*;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.junit.BeforeClass;
import org.junit.Test;
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;
/**
* @Description junit 控制層父類
* @Author zhanmin.zheng
* @CreateDate 2016/01/1
* @ModifyDate
* @Version 1.0
*/
public class JUnitActionBase {
private static HandlerMapping handlerMapping;
private static HandlerAdapter handlerAdapter;
@BeforeClass
public static void setup() throws Exception{
if (handlerMapping == null) {
String[] configs = {
"classpath:root-context.xml",
"classpath:mvc-context.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]);
}
}
/**
*
* @param request
* @param response
* @return
* @throws Exception
*/
public ModelAndView excuteAction(HttpServletRequest request,
HttpServletResponse response) throws Exception {
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;
}
}

軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 一区二区在线欧美日韩中文 | 深夜福利网 | www视频网站| 最近中文字幕2019视频1 | 天天做夜夜做 | 天堂网中文在线 | 91成人免费在线视频 | 成人私人影院www片免费高清 | 欧美激情a∨在线视频播放 欧美激情二区 | 亚洲精品网站在线观看不卡无广告 | 亚洲欧美在线综合一区二区三区 | 日韩图色 | 天天操天天操天天操香蕉 | 97久久人人做人人爽人人澡 | 无码一区二区三区视频 | 日韩a级片在线观看 | 国产一级特黄毛片 | 性欧美videofree另类 | 黄色一级生活片 | 99精品久久久久久久免费看蜜月 | 久久99精品久久久久久秒播放器 | 免费看欧美日韩一区二区三区 | 免费一级毛片 | 久久这里只有精品免费看青草 | 99色在线视频 | 亚洲欧美另类在线视频 | 99色在线视频 | 一级女性全黄久久生活片免费 | 在线国产视频观看 | 久久国产影视免费精品 | 99久久免费国产特黄 | 国产欧美日韩视频免费61794 | 午夜网站在线播放 | 日本爽视频 | 免费观看欧美一级片 | 日韩欧美高清视频 | 亚洲精品123区 | 欧美一级视 | 欧美操片在线观看 | 在线免费视频a | 免费成人短视频 |