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. SpringBoot26 RestTemplate、WebClient

    1 RestTemplate RestTemplate是在客户端访问 Restful 服务的一个核心类:RestTemplate通过提供回调方法和允许配置信息转换器来实现个性化定制RestTempla ...

  2. 476. Number Complement 二进制中的相反对应数

    [抄题]: Given a positive integer, output its complement number. The complement strategy is to flip the ...

  3. linux下安装sz/rz命令

    参考 https://blog.csdn.net/kobejayandy/article/details/13291655

  4. MVC异常过滤器在三种作用范围下的执行顺序

    对于一般过滤器(即:除了IExceptionFilter ),当同时在Controller和Action中都设置了同一个过滤器后(例如IActionFilter),执行顺序一般是由外到里,即“全局”- ...

  5. sql多表链接之三表连接查询

    表与表之间的关系如下 查询条件:根据员工表的enployee_id 查找他在哪个部门,他在哪个城市工作. 查询语句:

  6. 解决Eclipse+ADT连接夜神模拟器失败问题

    问题1: 运行夜神模拟器,cmd执行 adb devices不显示 答案1: 原因可能是夜神模拟器的adb版本与sdk下的adb版本不一致,拷贝sdk下的adb.exe并改名为nox_adb.exe替 ...

  7. C#向服务器上传文件问题

    最近在写服务器端web上传的接口.但一直报错,上传不上去,后来发现是在分隔符中出现的问题. 错误的写法: var boundary = "---------------" + Da ...

  8. Ubuntu在用root账户使用xftp连接时提示拒绝连接

    一般来说Linux不允许使用root账户连接,修改配置 vi /etc/ssh/sshd_config #Authentication: LoginGraceTime PermitRootLogin ...

  9. svn下载安装

    TortoiseSVN 下载地址:http://subversion.apache.org/packages.html#windows VisualSVN Server 下载地址:https://ww ...

  10. 【SQL】- 基础知识梳理(二) - SQL简介

    一.引言 在梳理这些知识之前,说实话,如果有人问我SQL是什么?我可能会回答就是“INSERT,DELETE,UPDATE,SELECT”语句呗,还能是啥. 二.SQL概念 SQL是什么? SQL是S ...