知识库 知识库
首页
  • Hyperskill - Java

    • Java basic
    • Java OOP
    • 应知
    • 扩展
    • IO & Stream
    • Error & Exception
    • Algorithm & Data structure
    • Design pattern
    • Web
    • Spring boot
  • 练习题

    • 选择题 & 填空题
    • 代码题
  • Frank - Java与生活 (OOP)

    • 参考资料
    • Java基础
    • OOP上半部分
    • OOP下半部分
  • Frank - Java API进阶

    • Base API
    • Unit Test and main function
  • 学习笔记
  • 学习笔记

    • 数据库
  • Frank - MySQL删库跑路

    • 安装、连接、配置
    • 基本操作——数据库
    • 基本操作——表
    • 基本操作——数据
    • 数据类型
    • 列属性完整性
    • 数据库设计思维
    • 单表查询
    • 多表查询
  • 学习笔记

    • 其它
  • Frank - Linux现代方法

    • 必知
    • 命令
    • 技巧
  • 技术文档
  • Git
  • GitHub技巧
  • 前端
  • Khan Academy - 语法
  • Monthly
  • 阅读
  • Others
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
收藏
  • 标签
  • 归档
GitHub (opens new window)

Jim FuckPPT

Java小学生
首页
  • Hyperskill - Java

    • Java basic
    • Java OOP
    • 应知
    • 扩展
    • IO & Stream
    • Error & Exception
    • Algorithm & Data structure
    • Design pattern
    • Web
    • Spring boot
  • 练习题

    • 选择题 & 填空题
    • 代码题
  • Frank - Java与生活 (OOP)

    • 参考资料
    • Java基础
    • OOP上半部分
    • OOP下半部分
  • Frank - Java API进阶

    • Base API
    • Unit Test and main function
  • 学习笔记
  • 学习笔记

    • 数据库
  • Frank - MySQL删库跑路

    • 安装、连接、配置
    • 基本操作——数据库
    • 基本操作——表
    • 基本操作——数据
    • 数据类型
    • 列属性完整性
    • 数据库设计思维
    • 单表查询
    • 多表查询
  • 学习笔记

    • 其它
  • Frank - Linux现代方法

    • 必知
    • 命令
    • 技巧
  • 技术文档
  • Git
  • GitHub技巧
  • 前端
  • Khan Academy - 语法
  • Monthly
  • 阅读
  • Others
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
收藏
  • 标签
  • 归档
GitHub (opens new window)
  • Hyperskill - Java

  • 练习题

  • Frank - Java与生活

  • Frank - Java API进阶

    • Base API

    • Unit Test and Main function

      • 抛出企业问题,脱离main测试,模块化概念抛出
      • Junit、单元测试的含义和用途
      • Maven repository 获取 JAR
      • 使用JUnit
        • Assert.assertEquals() 方法
        • 一个计算器案例
          • 编写方法
          • 单元测试
          • 应用
    • Throwable

  • 学习笔记

  • Java
  • Frank - Java API进阶
  • Unit Test and Main function
Jim
2022-10-23
目录

使用JUnit

注意

这儿学的是 JUnit 4 版本框架,不适用于 JUnit 5。

# Assert.assertEquals() 方法

Assert 是 org.junit 包下的一个类,Assert.assertEquals() 可用于在单元测试中根据预期值断言测试结果。这个方法有两个参数 expected 和 actual:

  • expected 表示预期值
  • actual 表示被测试方法产生的实际值

# 一个计算器案例

# 编写方法

package jim.demo.unittesting;

public class Calculator {

    public static int sum(int numberA, int numberB) {
        return numberA + numberB;
    }

    public static int subtract(int numberA, int numberB) {
        return numberA - numberB;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12

# 单元测试

提示

来自 org.junit 的注解 @Test 表示一个测试用例。 此外,这里利用了伪随机数 ThreadLocalRandom 来测试先前编写的方法。

package jim.demo.unittesting.test;

import jim.demo.unittesting.Calculator;
import org.junit.Assert;
import org.junit.Test;

import java.util.concurrent.ThreadLocalRandom;

public class CalculatorTest {

    int numberA = ThreadLocalRandom.current().nextInt(-9999, 9999);
    int numberB = ThreadLocalRandom.current().nextInt(-9999, 9999);

    @Test
    public void sum() {
        Assert.assertEquals(numberA + numberB, Calculator.sum(numberA, numberB));
    }

    @Test
    public void subtract() {
        Assert.assertEquals(numberA - numberB, Calculator.subtract(numberA, numberB));
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 应用

提示

main() 中只有一行代码 run()。先前编写的方法在 run() 中调用。这个案例还能再调整和细化,但为了简洁和节省时间就点到为止。

package jim.demo.unittesting;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        run();
    }

    private static void run() {
        System.out.println("-----Welcome!----");
        System.out.println("Please select mode(sum/subtract):");
        Scanner scanner = new Scanner(System.in);
        String mode = scanner.next();
        System.out.println("Please enter two integer number:");
        int numberA = scanner.nextInt();
        int numberB = scanner.nextInt();
        switch (mode) {
            case "sum":
                System.out.println(Calculator.sum(numberA, numberB));
                break;
            case "subtract":
                System.out.println(Calculator.subtract(numberA, numberB));
                break;
            default:
                System.out.println("Something wrong!");
                break;
        }
        System.out.println("-----Goodbye!----");
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
编辑 (opens new window)
上次更新: 2022/10/25, 17:57:56
Maven repository 获取 JAR
异常

← Maven repository 获取 JAR 异常→

最近更新
01
《挪威的森林》
04-14
02
青钢影
04-14
03
Processing strings
02-18
更多文章>
Theme by Vdoing | Copyright © 2022-2023 Jim Frank | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式