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. 788. Rotated Digits 旋转数字

    [抄题]: X is a good number if after rotating each digit individually by 180 degrees, we get a valid nu ...

  2. Hyperledger Fabric开发

    打开Hyperledger Fabric在线开发文档:https://hyperledger-fabric.readthedocs.io 建议在Mac或Linux环境下操作,因为文档基本上是按照Mac ...

  3. JavaWeb中的路径问题

    JavaWEB 开发中的 / 的含义 ①.当前WEB应用的根路径(http://localhost:8080/contextPath/) 请求转发时:request.getRequestDispath ...

  4. 智能IC卡与终端(读卡器)之间的传输协议

    1.有两种协议 T=0,异步半双工字符传输协议 T=1,异步半双工块传输协议 终端一般都支持这两种协议,IC卡可以选择支持其中的一种.(因为终端可能需要面对各种类型的卡片,所以必须两种协议都支持,而卡 ...

  5. Java基础语法(二)<运算符>

    运算符: 下面的都是相关的练习: 1.键盘录入一个三位整数数,请分别获取该三位数上每一位的数值 import java.util.Scanner; public class Test02 { publ ...

  6. JavaScript 的 export default 命令

    export default 指定模块的默认输出,一个模块只能有一个默认输出. 举个例子. export-default.js export default { name: 'hello', data ...

  7. CSS 中的 px、em、rem 和 vh

    区分 px:Pixel.像素. em:相对长度单位.继承父级元素的 font-size,值是相对于父级元素font-size的倍数. rem:Root em.相对于根元素(即 <html> ...

  8. App性能测试工具使用说明-MobilePerformance

    一. 环境搭建 安装Android SDK 1.6或者1.7版本均可,建议1.7,环境变量的配置,Java SDK的安装很简单,不赘述了. 安装SDK 1.安装Android SDK: 2.安装完毕后 ...

  9. (转)EASYUI+MVC4通用权限管理平台

    原文地址:http://www.cnblogs.com/hn731/archive/2013/07/15/3190947.html 通用权限案例平台在经过几年的实际项目使用,并取得了不错的用户好评.在 ...

  10. springboot调用微信的jscode2session报JSONObject异常

    问题背景: 服务器为Centos6.5 JDK:OpenJDK1.7 tomcat7 项目为微信小程序api的后端代码,解密用户信息,代码是采用springboot写的 异常信息: 代码: json异 ...