http://www.51testing.com/html/14/n-1408814.html

1.直接对spring中注入的bean进行测试(以DAO为例):

  在测试类上添加@RunWith注解指定使用springJunit的测试运行器,@ContextConfiguration注解指定测试用的spring配置文件的位置
  之后我们就可以注入我们需要测试的bean进行测试,Junit在运行测试之前会先解析spring的配置文件,初始化spring中配置的bean
 @RunWith(SpringJUnit4ClassRunner.class)

 @ContextConfiguration(locations={"classpath*:spring-config-test.xml"})

 public class TestProjectDao {

 @Autowired

 ProjectDao projectDao;

 @Test

 public void testCreateProjectCode(){

 long applyTime = System.currentTimeMillis();

 Timestamp ts = new Timestamp(applyTime);

 Map codeMap = projectDao.generateCode("5", "8",ts,"院内");

 String projectCode = (String)codeMap.get("_project_code");

 Timestamp apply_time = (Timestamp)codeMap.get("_apply_time");

 System.out.print(projectCode);

 System.out.print(apply_time.toString());

 Assert.assertTrue(projectCode.length()==12);

 }
 
2.对springMVC进行测试:

  spring3.2之后出现了org.springframework.test.web.servlet.MockMvc 类,对springMVC单元测试进行支持
  样例如下:
 package com.jiaoyiping.baseproject;

 import com.jiaoyiping.baseproject.privilege.controller.MeunController;

 import com.jiaoyiping.baseproject.training.bean.Person;

 import junit.framework.Assert;

 import org.junit.Before;

 import org.junit.Test;

 import org.junit.runner.RunWith;

 import org.springframework.beans.factory.annotation.Autowired;

 import org.springframework.http.MediaType;

 import org.springframework.test.context.ContextConfiguration;

 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

 import org.springframework.test.context.web.WebAppConfiguration;

 import org.springframework.test.web.servlet.MockMvc;

 import org.springframework.test.web.servlet.ResultActions;

 import org.springframework.test.web.servlet.setup.MockMvcBuilders;

 import org.springframework.web.servlet.ModelAndView;

 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;

 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;

 /**

 * Created with IntelliJ IDEA.

 * Date: 14-9-25

 * Time: 下午6:45

 * To change this template use File | Settings | File Templates.

 */

 @RunWith(SpringJUnit4ClassRunner.class)

 @WebAppConfiguration

 //@ContextConfiguration(classes = {WebMvcConfig.class, MockDataConfig.class})

 @ContextConfiguration(locations={"classpath:/spring/applicationContext.xml", "classpath*:mvc-dispatcher-servlet.xml"})

 public class TestMockMvc {

 @Autowired

 private org.springframework.web.context.WebApplicationContext context;

 MockMvc mockMvc;

 @Before

 public void before() {

 //可以对所有的controller来进行测试

 mockMvc = MockMvcBuilders.webAppContextSetup(context).build();

 //仅仅对单个Controller来进行测试

 // mockMvc = MockMvcBuilders.standaloneSetup(new MeunController()).build();

 }

 @Test

 public void testGetMenu(){

 try {

 System.out.println("----------------------------");

 ResultActions actions =

 this.mockMvc.perform(get("/menu/manage.action"));

 System.out.println(status());//

 System.out.println(content().toString());

 actions.andExpect(status().isOk());

 //            actions.andExpect(content().contentType("text/html"));

 System.out.println("----------------------------");

 } catch (Exception e) {

 e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.

 }

 }

如果想使用TestNG,可以参考http://www.51testing.com/html/26/n-856526.html

如果想使用Spock,可以参考http://stackoverflow.com/questions/9811345/how-to-inject-spring-beans-into-spock-test

[转][Java]使用Spring配合Junit进行单元测试的总结的更多相关文章

  1. 使用Spring配合Junit进行单元测试的总结

    最近公司的项目和自己的项目中都用到了spring集成junit进行单元测试,总结一下几种基本的用法: 1.直接对spring中注入的bean进行测试(以DAO为例): 在测试类上添加@RunWith注 ...

  2. spring集成Junit做单元测试及常见异常解决办法

    spring-test依赖包 <!--Spring-test --> <!-- https://mvnrepository.com/artifact/org.springframew ...

  3. Spring boot Junit Test单元测试

    Spring boot 1.40 JUnit 4 需要依赖包 spring-boot-starter-test.spring-test 建立class,加上如下注解,即可进行单元测试,别的帖子里说要加 ...

  4. Spring整合Junit进行单元测试

    I. 加入依赖包 Spring Test (如spring-test-2.5.4.jar) JUnit 4 Spring 其他相关包 II.新建Junit Test Case III.读取配置文件 @ ...

  5. 中阶d03.3 JDBC_CURD_Util --- 使用 junit执行单元测试(增删改查)

    1.单元测试环境准备 https://www.cnblogs.com/longesang/p/11399010.html 2.测试 3.结果返回 4.代码 新建一个test目录统一存放测试案例 查: ...

  6. Spring完全基于Java配置和集成Junit单元测试

    要点: 配置继承WebApplicationInitializer的类作为启动类,相当于配置web.xml文件 使用@Configuration注解一个类,在类中的方式使用@Bean注解,则表名该方法 ...

  7. Spring集成JUnit单元测试框架

    一.JUnit介绍 JUnit是Java中最有名的单元测试框架,用于编写和运行可重复的测试,多数Java的开发环境都已经集成了JUnit作为单元测试的工具.好的单元测试能极大的提高开发效率和代码质量. ...

  8. 学习 Spring Boot:(二十九)Spring Boot Junit 单元测试

    前言 JUnit 是一个回归测试框架,被开发者用于实施对应用程序的单元测试,加快程序编制速度,同时提高编码的质量. JUnit 测试框架具有以下重要特性: 测试工具 测试套件 测试运行器 测试分类 了 ...

  9. 聊聊单元测试(三)——Spring Test+JUnit完美组合

    本着“不写单元测试的程序员不是好程序员”原则,我在坚持写着单元测试,不敢说所有的Java web应用都基于Spring,但至少一半以上都是基于Spring的. 发现通过Spring进行bean管理后, ...

随机推荐

  1. easylogging++学习记录(一):接入

    easylogging++是一个非常轻量级并且非常高效的一个日志库,支持文件配置,支持线程安全,并且其自定义格式非常的方便,最关键的是,其所有代码都集中在一个.h头文件之中,完全不需要引用第三方库,接 ...

  2. dyld_decache&MesaSQLite

    [dyld_decache] Starting from iPhone OS 3.1, the individual libraries files supplied by the system ar ...

  3. Spring总结三:DI(依赖注入)

    简介: 所谓的依赖注入,其实是当一个bean实例引用到了另外一个bean实例时spring容器帮助我们创建依赖bean实例并注入(传递)到另一个bean中,比如你使用Spring容器创建的对象A里面需 ...

  4. hdu6188 Duizi and Shunzi (贪心或者dp)

    题意 有n张牌,第i张牌上的数字是a[i].我们定义 两张数字是一样的牌 为对子.我们定义 三张数字连续的牌 为顺子.我们想把这n张牌组成尽可能多的顺子和对子.请计算并输出能组成的最多的顺子和对子的数 ...

  5. ArcGIS JS API实现的距离测量与面积量算

    转自https://www.cnblogs.com/deliciousExtra/p/5490937.html

  6. Quick Find

    --------------------siwuxie095                                 Quick Find         这里介绍并查集的一种实现思路:Qui ...

  7. 关于sleep的理解

    unix是按时间片轮转调度, windows是抢占式调度 以吃蛋糕为例子,10个人吃蛋糕,如果是unix下, 假设开始时,每个人都处于就绪状态,那么操作系统调度大家排好队,按顺序吃,每个人吃1分钟, ...

  8. mybatis 框架 的应用之三(操作两张没有关联的表,存在主键和外键关系)

    #注意:要配置开启多条语句操作,否则会报错( org.apache.ibatis.exceptions.PersistenceException) lf-driver=com.mysql.jdbc.D ...

  9. nmap 笔记

    本文由阿德马翻译自国外网站,请尊重劳动成果,转载请注明出处,谢谢 1.初级用法: 教程   Nmap使用不同的技术来执行扫描,包括:TCP的connect()扫描,TCP反向的ident扫描,FTP反 ...

  10. [docker]Kubernetes的yaml文件

    yaml是一种专门用来写配置的语言,简洁强大 它的规则: 1.大小写敏感 2.使用缩进表示层级关系,但不支持tab缩进,只支持空格 3.缩进的数量不重要但至少一个空格,只要相同层级使用相同数量的空格即 ...