JUnit 之初体验

1.定义

JUnit 是一个流行的 Java 单元测试框架,用于编写和执行测试。它提供了一组注解断言,使得单元测试的编写变得简单且直观

程序开发过程中,不变的永远是变化!

因此,单元测试极为重要!通过使用我们所编写的 JUnit 测试用例来验证代码的正确性,并且还可以确保代码在之后的修改或重构后仍然能够正常工作。

2.引入

在 Java 项目中引入 JUnit 主要有以下几种常用的方式

1)使用 Maven 工具

在 Maven 项目的 pom.xml 文件中添加 JUnit 依赖

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version> <!-- 自己选择需要的版本 -->
        <scope>test</scope>
    </dependency>
</dependencies>

2)使用 Gradle 工具

在 Gradle 项目的 build.gradle 文件中添加 JUnit 依赖

testImplementation 'junit:junit:4.13.2' // 自己选择需要的版本

3)使用 Jar 包

需要手动下载 JUnit Jar 包(可以从 JUnit 官方网站下载)并添加到项目的类路径下

JUnit 官网下载地址:

  • JUnit4:https://junit.org/junit4/
  • JUnit5:https://junit.org/junit5/

2.样例

编写 测试用例 的基本流程 大概是:创建一个 测试类 =》编写N组 测试方法 =》编写N组 断言

在这里插入图片描述

接下来就让我们逐一认识一下吧!

0)前提

想要测试嘛!肯定要有需要测试的代码呀 (此处选择使用了 Maven 导入 JUnit)
在这里插入图片描述

Demo 类中存在了两个方法,分别是用于加法运算的 add 以及 用于减法运算的 sub

class Demo {
   
    public int add(int a, int b) {
   
        return a + b;
    }

    public int sub(int a, int b) {
   
        return a - b;
    }
}

1)测试类

在 JUnit 中,测试用例通常以一个包含测试方法的测试类为单位

测试类是一个普通的 Java 类,其中包含了一个或多个使用 @Test 注解标记的测试方法

2)测试方法

测试方法用 @Test 注解进行标记,这告诉 JUnit 这是一个测试方法。测试方法包含用于验证代码行为的断言

3)测试断言

在 JUnit 中提供了一组断言方法,用于验证预期结果是否符合实际结果。例如,assertEquals(expected, actual) 用于比较预期值和实际值是否相等

4)实施

点击代码左侧的 绿色运行按钮 ,然后点击 Run xxxx 即可。也可以在代码区内点击 鼠标右键 然后 Run xxxx

说明,这种点击就是运行当前类的全部测试方法,也可以单独运行指定的测试方法

示例代码:

在这里插入图片描述

import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;

class MyFirstJUnitJupiterTests {
   
    private final Demo demo = new Demo();
    
    @Test
    void add() {
   
        assertEquals(2, demo.add(1, 1));
    }

    @Test
    void sub() {
   
        assertEquals(4, demo.sub(5, 1));
    }
}

这里使用的 assertEquals(expected, actual) 是验证预期值和实际值是否相等

运行结果:

1)正常结果

在这里插入图片描述

可以看到 两个方法都是 绿色✔,说明其正确。

2)异常结果

修改一下 sub 方法的期待结果,将其结果故意修改为错误值 3

@Test
void sub() {
   
	assertEquals(3, demo.sub(5, 1));
}

在这里插入图片描述

可以看到 第一个方法 add 是绿色✔,而第二个方法 sub 则是 黄色 X 说明其错误

总结

这样我们就使用 JUnit 这个流行的 Java 单元测试框架编写了第一个单元测试用例啦!JUnit 提供的方法还有很多,此处只是简单的使用了 @TestassertEquals ,它还拥非常多的功能待我们去研究及运用。

相关推荐

  1. Python学习-体验-Hello World

    2023-12-12 11:42:01       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-12 11:42:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-12 11:42:01       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-12 11:42:01       82 阅读
  4. Python语言-面向对象

    2023-12-12 11:42:01       91 阅读

热门阅读

  1. 2021 年的 OWASP TOP 10

    2023-12-12 11:42:01       62 阅读
  2. MySQL 常用锁

    2023-12-12 11:42:01       58 阅读
  3. MySQL GTID详解

    2023-12-12 11:42:01       43 阅读
  4. 工厂方法模式

    2023-12-12 11:42:01       59 阅读
  5. MyBatis进阶之缓存

    2023-12-12 11:42:01       54 阅读
  6. docker相关的命令

    2023-12-12 11:42:01       52 阅读
  7. 05.开闭原则(Open Closed Principle)

    2023-12-12 11:42:01       54 阅读
  8. 【go语言实践】基础篇 - 流程控制

    2023-12-12 11:42:01       59 阅读
  9. ACwing算法备战蓝桥杯——Day30——树状数组

    2023-12-12 11:42:01       65 阅读
  10. 使用GDCM库将.gz文件转换为.dcm文件的测试程序

    2023-12-12 11:42:01       62 阅读