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. eclipse egit(远程仓库)

    Git的强大之一体现在远程仓库,Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且 ...

  2. Professional C# 6 and .NET Core 1.0 - Chapter 37 ADO.NET

    本文内容为转载,供学习研究.如有侵权,请联系作者删除. 转载请注明本文出处:Professional C# 6 and .NET Core 1.0 - 37 ADO.NET 译文:C# 6 与 .NE ...

  3. wangEditor富文本编辑器

    设置好了是这样的, 有一个ID问content的编辑框,方便获取,这里的富文本编辑器的版本是2.2 官方文档说3就不支持textarea了 导入一下css 记得css文件夹下应该又3个文件,虽然没有直 ...

  4. CodeForces - 721E

    题目大意 现有一个长为 L的数轴,你要从0走到 L 给出n个互不相交的可行域. 你要选择长度为p的段,要求每一个段都要在可行域内. 选完一段之后下一段要么和其相接,要么和其间距至少为t,求问最多能选择 ...

  5. HTTP请求:POST和GET的差异

    1,一般情况下应用目的不同:GET是从服务器上获取数据,POST是向服务器传送数据. 2,将数据提交到服务器的方式不同:GET是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各 ...

  6. linux学习2--目录结构

    根据FHS(http://www.pathname.com/fhs/)的官方文件指出, 他们的主要目的是希望让使用者可以了解到已安装软件通常放置于那个目录下, 所以他们希望独立的软件开发商.操作系统制 ...

  7. MySQL性能调优与架构设计——第6章 MySQL Server 性能的相关因素

    第6章 MySQL Server 性能的相关因素 前言 大部分人都一致认为一个数据库应用系统(这里的数据库应用系统概指所有使用数据库的系统)的性能瓶颈最容易出现在数据的操作方面,而数据库应用系统的大部 ...

  8. String类的subtring(,)

    截取字符串,参数(起始位置,截取长度)

  9. tornado+nginx上传视频文件

    [http://arloz.me/tornado/2014/06/27/uploadvideotornado.html] [NGINX REFRER:Nginx upload module] 由于to ...

  10. 关于 XML 字段内容查询

    找到个总结相当好的知识点的归纳,记在自己的博客里也方便查询 /* sql xml 入门:     --by jinjazz     --http://blog.csdn.net/jinjazz     ...