Spring的主要测试框架核心

3个接口

1TestContext:负责持有一个当前测试的上下文

2TestContextManger:

(1)每次启动都会创建,管理一个TestContext

(2)在测试中更新TestContext的状态并代理到TestExecutionListener

3TestExcutionListener:监控实际的执行(如依赖注入,管理实务等)

实现

1加入Junit4的注解@RunWith(SpringJUnit4ClassRunner.class),这里指定Spring的运行器来集成,创建TestContextManger

2加入@ContextConfiguration注解,指定要加载的配置文件的位置(类似于启动程序,Sring容器实例化bean的过程)

最好的实现方式

1写一个基类

(1)指定加载的spring配置文件(加入Configlaction注解)

(2)创建TestContextManager实例(加入@Runwith注解)

2测试类继承这个基类

源码分析

1首先配置@Runwith注解,会调用SpringJUnit4ClassRunner类中的createTestContextManger返回创建一个TestContextManger实例,然后创建一个TestContext实例,                   在TestContext类中读取配置文件注解,获取这个配置文件中的所有的类,然后进行类加载。

2然后有了各个组件实例之后,就进行依赖注入

浅谈Spring测试框架+junit4单元测试原理相关推荐

  1. java+caching+system_浅谈Spring boot cache使用和原理

    缓存要解决的问题:一个程序的瓶颈在于数据库,我们也知道内存的速度是大大快于硬盘的速度的.当我们需要重复地获取相同的数据的时候,我们一次又一次的请求数据库或者远程服务,导致大量的时间耗费在数据库查询或者 ...

  2. 浅谈:Spring Boot原理分析,切换内置web服务器,SpringBoot监听项目(使用springboot-admin),将springboot的项目打成war包

    浅谈:Spring Boot原理分析(更多细节解释在代码注释中) 通过@EnableAutoConfiguration注解加载Springboot内置的自动初始化类(加载什么类是配置在spring.f ...

  3. 浅谈Spring定时任务

    浅谈Spring定时任务 三种定时任务基于原理 多定时任务并发配置 动态定时任务 定时任务Demo 三种定时任务基于原理 SpringBoot配置定时任务主要有Spring Schedule.JDK自 ...

  4. 浅谈WEBGIS运用栅格地图实现原理[更新:Google Maps带来的新型WebGIS设计模式]

    为什么要取这样的一个题目呢?主要是因为今天去了一家公司和他们谈了谈,本来是指望做兼职的,谈到最后当然是不成了.去谈的是地图制作(可兼职)一职,要求是地图制图经验,最后加了个有WEBGIS开发经验.本来 ...

  5. 浅谈Spring IOC的理解

    浅谈Spring IOC的理解 学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊 ...

  6. 浅谈 Spring IOC和AOP

    浅谈 Spring IOC和AOP IOC 控制反转 以前创建对象的主动权和时机是由于自己把握的,现在将这种权利转移到Spring容器中,并且根据配置文件去创建对象管理对象 ioc的注入方式有三种:构 ...

  7. 浅谈javaweb三大框架和MVC设计模式

    浅谈javaweb三大框架和MVC设计模式 转载自:http://blog.csdn.net/sunpeng19960715/article/details/50890705 小序:博主以前在学jav ...

  8. 由openSession、getCurrentSession和HibernateDaoSupport浅谈Spring对事物的支持

    由openSession.getCurrentSession和HibernateDaoSupport浅谈Spring对事物的支持 Spring和Hibernate的集成的一个要点就是对事务的支持,op ...

  9. 跑三小时的monkey测试该怎么算_浅谈App测试(下)~带音频

    文 | Vicky 采编|Emily 浅谈App测试(上)-带音频 一.功能测试​ 二.性能测试 (1)耗电量 影响因素:定位.传感器.蓝牙,其中CPU.持续定位是两个平台造成耗电的主要因素. (2) ...

最新文章

  1. LeetCode--160--相交链表
  2. 防火墙先锋 Check Point 进军汽车数据防护领域
  3. 无线服务器密码让别人改了,wifi密码被改了怎么办_wifi密码被别人改了怎么办?-192路由网...
  4. Java文本预处理 去除非法字符
  5. Android添加拍照功能,Android自定义相机,添加水印
  6. HDU 5281 Senior#39;s Gun 杀怪
  7. NVIDIA 显卡信息(CUDA信息的查看)
  8. [debug] PyCharm 退出 pytest in XXX.py,恢复run XXX.py
  9. Cache数据库之ECP搭建
  10. OpenGL学习之旅(三)——Bezier曲线理论与OpenGL实现
  11. 算法注册机编写扫盲之续篇---第二课
  12. 喉炎在临床上的症状表现
  13. 创投日报:3月28日收录投融资项目19起
  14. win10 安装虚拟机和乌班图
  15. 中国农业机械融资租赁市场预测与投资战略报告(2021版)
  16. STM32——浅谈睡眠模式、停机模式、待机模式
  17. ubuntu共享文件夹不显示及设备空间不足解决[随手笔记]
  18. android studio高德地图的显示于定位(附带逆地理编码围栏)
  19. win10 mysql 卸载不干净,安装提示,已经存在
  20. 什么是坐标系,不同坐标系之间有什么区别

热门文章

  1. Java 抽象类和接口的区别
  2. 阿里云数据中台训练营第一期圆满落幕
  3. python - unitest
  4. 自动化运维工具Ansible连续剧之--介绍安装与连接
  5. 【303】C# 复制窗体 修改名称
  6. 数据库事物用法 SET XACT_ABORT ON
  7. AARRR:互联网创业者一定要掌握的指标
  8. iOS开发之网络编程--获取文件的MIMEType
  9. Socket编程实例
  10. zend_soap做webservice的使用方法