JAVA基础之单元测试

2022-11-07 14:53:47 浏览数 (1)

目录

1、单元测试介绍

2、环境搭建

2.1 JUnit 4

2.2 JUnit 5

3、快速上手

3.1 JUnit 4

3.2 JUnit 5


1、单元测试介绍

单元测试就是针对最小的功能单元编写测试代码,Java程序最小的功能单元是方法,因此,单元测试就是针对Java方法的测试,进而检查方法的正确性。

今天要介绍的是一款JAVA单元测试框架:JUnit

JUnit是使用Java语言实现的单元测试框架,它是开源的,Java开发者都应当学习并使用JUnit编写单元测试。此外,几乎所有的IDE工具都集成了JUnit,这样我们就可以直接在IDE中编写并运行JUnit测试,JUnit目前最新版本是5。

那我们为什么要使用JUnit 呢?它有什么优点?

  1. JUnit可以灵活的选择执行哪些测试方法,可以一键执行全部测试方法。
  2. Junit可以生成全部方法的测试报告。
  3. 单元测试中的某个方法测试失败了,不会影响其他测试方法的测试。

今天这篇博客分别要介绍 Junit 4 和 Junit 5。

2、环境搭建

要是用JUnit 我们就要搭建好相关环境。我使用的是IDEA,所以要下载一个插件。

2.1 JUnit 4

如果你是Maven 项目请导入下面的依赖。

代码语言:javascript复制
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.13.2</version>
  <scope>test</scope>
</dependency>

如果你不是Maven项目,就手动导入jar包,下载地址放在下面了。

链接:百度网盘 请输入提取码

提取码:wxkj

2.2 JUnit 5

还是一样,如果你是Maven项目,请导入下面的依赖。

代码语言:javascript复制
<dependency>
   <groupId>org.junit.jupiter</groupId>
   <artifactId>junit-jupiter-api</artifactId>
   <version>5.8.2</version>
   <scope>test</scope>
</dependency>

如果你不是Maven项目,就手动导入jar包,下载地址放在下面了。

链接:百度网盘 请输入提取码

提取码:kbk8

环境搭建完毕后,我们就进入JUnit 的使用吧。

3、快速上手

我分为JUnit 4 和 JUnit 5 两部分给大家演示。

3.1 JUnit 4

首先我们先认识一下JUnit 4 的一些常用注解。

注解

说明

@Test

测试方法

@Before

用来修饰实例方法,该方法会在每一个测试方法执行之前执行一次。

@After

用来修饰实例方法,该方法会在每一个测试方法执行之后执行一次。

@BeforeClass

用来修饰静态方法,该方法会在所有测试方法之前只执行一次。

@AfterClass

用来修饰静态方法,该方法会在所有测试方法之后只执行一次。

接下来就是代码演示了。

首先我们创建一个方法类,里面我们模拟一个简单的登陆方法。

然后我们把鼠标放到类名上,就是上图箭头所指的位置,然后 键盘 Alt Enter 。

选择Create Test。

点击OK 就会生成JUnit 4的测试类啦。

代码演示:

大家可以看到我在图中特意标红的地方,这个叫断言,它有什么用呢?

它的作用可大了,假如我们的要执行的测试方法有很多,自己又懒得等,这个时候就可以使用断言来帮我做方法的结果是否 是我们想要的。

例如:

图中,我将name 输入错误的,然后执行,控制台就直接抛出异常,还清楚的告知是第几行。

3.2 JUnit 5

接下来到了Junit 5,JUnit5 和 JUni4 有点不同,但是大同小异。

我们先来认识JUnit5 中常用的注解。

注解

说明

@Test

测试方法

@BeforeEach

用来修饰实例方法,该方法会在每一个测试方法执行之前执行一次。

@AfterEach

用来修饰实例方法,该方法会在每一个测试方法执行之后执行一次。

@BeforeAll

用来修饰静态方法,该方法会在所有测试方法之前只执行一次。

@AfterAll

用来修饰静态方法,该方法会在所有测试方法之后只执行一次。

就是注解稍微有了一些小变化。具体大家可以看官网介绍,传送门:https://junit.org/junit5/docs/current/user-guide/

接下来我们看代码演示:

注意:

JUnit 5 的 包是 :org.junit.jupiter.api ,而Junit 4 的包是 :org.junit.Test

0 人点赞