如果我们需要对我们的Service方法作单元测试,恰好又是用Spring作为IOC容器的,我们可以这么配置Junit加载Spring容器,方便做单元测试。

> 基本的搭建

(1)引入所需的包

  1. <dependency>
  2. <groupId>junit</groupId>
  3. <artifactId>junit</artifactId>
  4. <version>3.8.1</version>
  5. <scope>test</scope>
  6. </dependency>
  7.  
  8. <dependency>
  9. <groupId>org.springframework</groupId>
  10. <artifactId>spring-test</artifactId>
  11. <version>3.2.10.RELEASE</version>
  12. </dependency>

(2)写测试类

测试类中要设置加载哪些Spring的配置(我这里是“/config/application*.xml”),然后就可以注入容器中的bean了。

  1. package com.nicchagil.mybatis3spring3intg.junit;
  2.  
  3. import java.util.List;
  4.  
  5. import org.junit.Test;
  6. import org.junit.runner.RunWith;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.test.context.ContextConfiguration;
  9. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
  10.  
  11. import com.nicchagil.mybatis3spring3intg.bean.User;
  12. import com.nicchagil.mybatis3spring3intg.service.UserService;
  13.  
  14. @RunWith(SpringJUnit4ClassRunner.class)
  15. @ContextConfiguration({"/config/application*.xml"})
  16. public class JunitTest {
  17.  
  18. @Autowired
  19. private UserService userService;
  20.  
  21. @Test
  22. public void c1() {
  23. List<User> userList = userService.query(new User());
  24. System.out.println(userList);
  25. }
  26.  
  27. }

> 常见的用法

常用的方式是将加载配置的部分公用出来:

  1. package com.nicchagil.mybatis3spring3intg.junit;
  2.  
  3. import org.junit.runner.RunWith;
  4. import org.springframework.test.context.ContextConfiguration;
  5. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
  6.  
  7. @RunWith(SpringJUnit4ClassRunner.class)
  8. @ContextConfiguration({"/config/application*.xml"})
  9. public class BaseJunit {
  10.  
  11. }

然后需要的各个测试类继承公用类:

  1. package com.nicchagil.mybatis3spring3intg.junit;
  2.  
  3. import java.util.List;
  4.  
  5. import org.junit.Test;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7.  
  8. import com.nicchagil.mybatis3spring3intg.bean.User;
  9. import com.nicchagil.mybatis3spring3intg.service.UserService;
  10.  
  11. public class UserServiceTest extends BaseJunit {
  12.  
  13. @Autowired
  14. private UserService userService;
  15.  
  16. @Test
  17. public void c1() {
  18. List<User> userList = userService.query(new User());
  19. System.out.println(userList);
  20. }
  21.  
  22. }

【Spring】Junit加载Spring容器作单元测试的更多相关文章

  1. 【Spring】Junit加载Spring容器作单元测试(整理)

    [Spring]Junit加载Spring容器作单元测试 阅读目录 >引入相关Jar包 > 配置文件加载方式 > 原始的用法 > 常见的用法 > 引入相关Jar包 一.均 ...

  2. Junit加载Spring容器作单元测试

    阅读目录 > 基本的搭建 > 常见的用法 如果我们需要对我们的Service方法作单元测试,恰好又是用Spring作为IOC容器的,我们可以这么配置Junit加载Spring容器,方便做单 ...

  3. spring boot 加载web容器tomcat流程源码分析

    spring boot 加载web容器tomcat流程源码分析 我本地的springboot版本是2.5.1,后面的分析都是基于这个版本 <parent> <groupId>o ...

  4. junit测试用例加载spring配置文件

    junit加载pom引用项目的xml配置文件,如果定义了<beans profile="dev">,必须在测试用例类上面加上标记 @ActiveProfiles(&qu ...

  5. 加载spring容器

    import org.springframework.context.ApplicationContext; import org.springframework.context.support.Cl ...

  6. Spring Boot中采用Mockito来mock所测试的类的依赖(避免加载spring bean,避免启动服务器)

    最近试用了一下Mockito,感觉真的挺方便的.举几个应用实例: 1,需要测试的service中注入的有一个dao,而我并不需要去测试这个dao的逻辑,只需要对service进行测试.这个时候怎么办呢 ...

  7. Spring中加载xml配置文件的六种方式

    Spring中加载xml配置文件的六种方式 博客分类: Spring&EJB XMLSpringWebBeanBlog  因为目前正在从事一个项目,项目中一个需求就是所有的功能都是插件的形式装 ...

  8. Spring中加载配置文件的方式

    原文:http://blog.csdn.net/snowjlz/article/details/8158560 Spring 中加载XML配置文件的方式,好像有3种, XML是最常见的Spring 应 ...

  9. Web.xml配置详解之context-param (加载spring的xml,然后初始化bean看的)

    http://www.cnblogs.com/goody9807/p/4227296.html(很不错啊) 容器先加载spring的xml,然后初始化bean时,会为bean赋值,包括里面的占位符

随机推荐

  1. WxInput模块则比较彻底的解决了这个问题

    基于wxpython的GUI输入对话框2 在程序输入中,有时会要求同时改变多个参数值,而且类型也不尽相同, 这时TextEntryDialog就显得不适用了.WxInput模块则比较彻底的解决了这个问 ...

  2. 外部引用JavaScript文件乱码问题

    使用js外部文件输出中文乱码解决: 将js文件编码改为和页面的编码相同.

  3. bootstrap组件学习

    转自http://v3.bootcss.com/components/ bootstrap组件学习 矢量图标的用法<span class="glyphicon glyphicon-se ...

  4. eclipse安装JS插件

    在eclipse中有三种Javascript插件可供选择: JSDT JSEclipse Spket Spket插件安装: 手动安装:到http://www.spket.com/download.ht ...

  5. symmetric multiprocessor

    https://en.wikipedia.org/wiki/Symmetric_multiprocessor_system A symmetric multiprocessor system (SMP ...

  6. [daily]使用rdtsc指令,测量程序的运行速度 [转]

    原文地址:http://blog.chinaunix.net/uid-24774106-id-2779245.html 最近搞架构,一直在讨论.听人提到,自行科普了一下,先转发,mark.有机会深入学 ...

  7. 使用IntelliJ IDEA编写Scala在Spark中运行

    使用Scala写一个测试代码: object Test { def main(args: Array[String]): Unit = { println("hello world" ...

  8. ajax同步、异步执行简单理解与证明

    此理解范例代码来自前几篇随笔! 首先我们来先了解下AJAX: Ajax:全称“Asynchronous Javascript and XML”(异步Javascript和XML),他是由Javascr ...

  9. dom4j微信接口开发

    新建一个web项目,我用的是eclipse和tomcat7.0 ,外网环境用的nat123 先建立一个实体bean:TextMessage /** * xml基本对象 * @author xiaohu ...

  10. [LeetCode]题解(python):114 Flatten Binary Tree to Linked List

    题目来源 https://leetcode.com/problems/flatten-binary-tree-to-linked-list/ Given a binary tree, flatten ...