首页 > 其他分享 >【单元测试】SpringRunner执行原理

【单元测试】SpringRunner执行原理

时间:2022-12-31 21:24:54浏览次数:63  
标签:调用 TestContextManager 单元测试 扩展 注解 原理 方法 SpringRunner

 

https://zhuanlan.zhihu.com/p/571520010

 

 SpringRunner实现Junit暴露的BlockJUnit4ClassRunner

 

 

SpringJUnit4ClassRunner实现了BlockJUnit4ClassRunner,它运行的是一个标准的JUnit4测试模型。

SpringJUnit4ClassRunner则是在此基础上做了一些扩展,扩展的内容主要包括:

  l  扩展了构造函数,多创建了一个TestContextManager实例。

  l  扩展了createTest()方法,会额外调用TestContextManager的prepareTestInstance方法。

  l  扩展了beforeClass,在执行@BeforeClass注解的方法前,会先调用TestContextManager的beforeTestClass方法。

  l  扩展了before,在执行@Before注解的方法前,会先调用TestContextManager的beforeTestMethod方法。

  l  扩展了afterClass,在执行@AfterClass注解的方法之后,会再调用TestContextManager的afterTestClass方法。

  l  扩展了after,在执行@After注解的方法之后,会再调用TestContextManager的after方法。

 

包含的TestContextManager

1、管理TestContext

  TestContext:对ApplicationContext的一个再封装,可以把TestContext理解为增加了测试相关功能的Spring容器。在DefaultTestContext的getApplicationContext方法中,调用了  cacheAwareContextLoaderDelegate的loadContext,最终辗转调到Context的refresh方法,从而构筑起Spring容器上下文

2、管理TestExecutionListeners

  使用观察者模式提供了对测试运行过程中的关键节点(如beforeClass, afterClass等)的监听能力。

 

标签:调用,TestContextManager,单元测试,扩展,注解,原理,方法,SpringRunner
From: https://www.cnblogs.com/clarino/p/17017279.html

相关文章

  • 【单元测试】基础理论
    https://insights.thoughtworks.cn/practical-test-pyramid/https://developer.aliyun.com/article/792515 Java编程技巧之单元测试用例编写流程https://developer.51c......
  • DHCP原理与配置
    一、了解DHCP服务DHCP(动态主机配置协议)通常被应用在大型的居于网络环境中,主要作用是集中的管理、分配IP地址,是网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器......
  • 数据挖掘原理与应用期末考试复习
    1绪论数据挖掘定义数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。数据挖掘......
  • 浅谈C语言编译原理
    C语言我们在学习计算机学科时,往往最先接触到的编程语言是C,它是所有语言中,最接近底层的高级语言之一,因而它具有执行速度快的优点。但它又具有开发周期长和对于经验不足......
  • 值得看!!!---大白话5分钟带你走进人工智能-第32节集成学习之最通俗理解XGBoost原理和
    目录如下:本节讲解XGBoost的原理~目录​​1、回顾:​​​​1.1有监督学习中的相关概念​​​​1.2回归树概念​​​​1.3树的优点​​​​2、怎么训练模型:​​​​2.1案例......
  • MySQL 5.7 并行复制实现原理与调优【转】
    MySQL5.7并行复制时代众所周知,MySQL的复制延迟是一直被诟病的问题之一,然而在Inside君之前的两篇博客中(1,2)中都已经提到了MySQL5.7版本已经支持“真正”的并行复制功能,官......
  • 【分布式技术专题】「分布式协调原理」全流程透析分析Zookeeper的原理实现
    ZooKeeper的起源和诞生Zookeeper最早起源于雅虎研究院的一个研究小组。在当时,研究人员发现,在雅虎内部很多大型系统基本都需要依赖一个类似的系统来进行分布式协调,但是这些系......
  • AD原理图中双箭头作用?
      Off-PageConnector当然有意义,这表示电气连接的两端在不同的板子上,通过接插件互联,且箭头指向方为接入目标。举个例子:计算机主板的PCIE口上插一块显卡,画出完整的系统......
  • 传感器工作原理以及传感器种类详解
    随着物联网时代的到来,现代信息技术快速发展,其中包含了计算机技术、通信技术和传感器技术等,计算机相当于人类的大脑,通信技术类似人体的神经,而传感器就等同于人的感觉器官。从......
  • 最大公约数_辗转相除法_更相减损术_原理
    辗转相除法算法使用要计算\(a\)与\(b\)的最大公约数,且\(a\÷\b=q\cdotsr\\\(a>=b)\).若\(r\not=0\),可将计算\(a\)与\(b\)的最大公约数,转为计算\(......