junit浅谈

本文介绍了作者在研究单元测试时对junit4-r3.8.2源码的学习心得,重点关注了TestRunner、Test、TestResult和TestCase四个核心概念。TestRunner负责执行测试,Test是对测试的抽象,TestResult收集并展示测试结果,而TestCase是最小的测试单位,包含了具体的测试逻辑。通过这些组件,junit实现了单元测试的执行和结果展示。
摘要由CSDN通过智能技术生成

junit浅谈

今天看一个项目的时候,发现其中的单元测试看不懂。所以觉得自己需要学习下单元测试。后面学习了mockito项目的使用,看了junit5的文档。最终竟开始阅读Junit的源码。真是跑题的非常严重!

下面谈谈看源码的一点心得。我看的源码是junit4-r3.8.2,之所以不选择最新版本是因为,新的版本会考虑到很多细节,看起来比较吃力,而旧的版本几乎全部都是精华。

不多说,进入正题。

单元测试框架的需求

使用面向对象的语言的项目有一个弊端,就是代码的逻辑散落在各处,代码总是来回调用,容易晕车。为了解决这个尴尬,我们需要首先了解这个项目的功能,最好有些使用的经验,然后对其核心的业务流程比较熟悉。

单元测试框架的功能就是执行单元测试。我们细化下需求:

  1. 执行单元测试并收集测试结果
  2. 以某种方式展示执行结果

TestRunner类

TestRunner是一个关键的类,顾名思义是用来执行测试的。在代码中删掉了部分非核心逻辑,并添加了注释。

public TestResult doRun(Test suite, boolean wait) {
        //初始化执行结果
		TestResult result= createTestResult();
		//为结果添加监听器,监听器的作用如在测试开始结束前做一些特殊的逻辑等
		result.addListener(fPrinter);
		long startTime= System.currentTimeMillis();
		//执行一个单元测试套件,可以理解为一个测试类
		sui
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值