Eclipse 使用 JUnit 进行单元测试

1. 前言

通过前面章节的介绍,我们已经知道如何对我们的 java 代码进行 Debug 了。

现在让我们来介绍另外一个和调试相关的操作,就是使用 JUnit 单元测试框架进行单元测试。

对我们的程序进行 Debug 是为了找出程序出错的地方,而使用 JUnit 进行单元测试除了验证我们的代码是否正确外,还有一个重要作用就是看代码的编写是否符合我们的业务逻辑需求。

我们将使用 JUnit 5 来介绍 JUnit 在 Eclipse 中的使用。本文不会对 JUnit 进行一个详细的使用介绍,但为了第一次接触 JUnit 的同学,让我们先来看看 JUnit 的一个简介。

2. JUnit 简介

JUnit 起源于 1997 年,作为一个单元测试框架,至今已经 20 多年了,可以说有着较长的发展历史。

JUnit 最初的版本是由两位编程大师 Kent Beck 和 Erich Gamma 在一次飞行旅程中完成的,推出后一直备受 Java 开发者的青睐,所以其功能也只一直在演进。

JUnit 目前已经发展到了 5.x 版本,主要是为了当前主流的 Java 版本 JDK 8 以及更高的版本提供更好的支持 (如支持 Lambda 等) 和提供更丰富的测试功能 (如重复测试,参数化测试等)。

JUnit 5 这个版本是 JUnit 单元测试框架的一次重大升级,其架构也和以前的 JUnit 版本不同。

目前,JUnit 5 由三个不同的子项目构成:JUnit Platform + JUnit Jupiter + JUnit Vintage。

其中 JUnit Jupiter 包含了 JUnit 5 中新的编程模型和扩展模型,主要就是用于编写测试代码和扩展代码。

所以,待会我们在 Eclipse 中新建 JUnit 测试时会选择 New JUnit Jupiter test,它代表的就是 JUnit 5。

通常,如果新的项目中需要使用 JUnit 来进行单元测试,我都会建议使用 JUnit 5,因为这是以后的一种趋势。

下面,让我们看看如何在 Eclipse 中进行编写和运行 JUnit 测试。

2. 创建测试文件夹

一般来说,我们会把测试相关的代码放到一个独立的文件夹中,而且通常名称就是 test。

我们可以直接在我们的 Java 项目中新建一个文件夹,如下图所示:

图片描述

接着输入文件夹的名称为 test,如下图所示:

图片描述

然后建立和项目中同样的包层级,包的创建我们已经介绍过了,这里不再赘述,最终如下图所示:

图片描述

3. 创建测试文件

现在,我们需要创建测试文件。

通过右键点击我们的包名,弹出的菜单中并没有测试文件,所以,我们选择 Other…,如下图所示:

图片描述

在弹出的新建窗口中,我们直接在搜索框中输入 test,然后选择 Junit Test Case,如下图所示:

图片描述

点击 Nest 后,我们需要填写测试文件的名称,其实测试文件就是一个测试类,所以名称的命名应该和类名的命名规则一致,如下图所示:

图片描述

另外,在一步我们还需要选择使用的 Junit 版本,我们这里选择了目前最新的 Junit 5,也就是 New JUnit Jupiter test。

点击 Finish 后,由于我们的项目还没添加 JUnit 5框架的 JAR 包,所以,Eclipse 会询问我们是否要现在添加,我们选择是即可,如下图所示:

图片描述

点击 OK 后,我们将可以看到 Eclipse 中新生成的测试文件 FirstTest.java,以及 Eclipse 帮我们导入的 JUnit 5 JAR 包,同时自动打开 FirstTest 类中也帮我们添加了一些默认代码,如下图所示:

图片描述

现在,我们以及准备好运行测试前的所有工作了。

4. 运行测试

运行我们的测试代码,其实和我们运行的 Java 程序类似,我们可以选择在编辑视图中鼠标右键,然后选择 Run As -> JUnit Test,如下图所示:

图片描述

运行后,我们重点需要关注右边 Eclipse 自动帮我们打开的 JUnit 视图,如下图所示:
图片描述

5. 阅读 JUnit 视图

我们可以观察到JUnit 视图中默认分为上下两个选项卡:一个选项卡显示测试问题列表,另一个测试跟踪选项卡将所有的测试问题显示为树。

我们可以通过双击测试跟踪中的相应行来导航到对于的源代码,如下图所示:

图片描述

5. 小结

本文中对如何在 Eclipse 中使用 JUnit 进行了介绍,从使用上并不难,大家可以自行尝试。