Java - 单元测试及Junit的使用讲解及练习

目录

[🐶2.1 什么是单元测试](#🐶2.1 什么是单元测试)

[🐶2.2 测试分类:](#🐶2.2 测试分类:)

[1. 🥙黑盒测试](#1. 🥙黑盒测试)

[2. 🥙白盒测试](#2. 🥙白盒测试)

[🐶2.3 Junit介绍](#🐶2.3 Junit介绍)

[🐶2.4 Junit的基本使用步骤:(默认使用maven创建项目)](#🐶2.4 Junit的基本使用步骤:(默认使用maven创建项目))

[1. 🥙pom.xml中引入依赖:](#1. 🥙pom.xml中引入依赖:)

[2. 🥙示例编写一个java程序:](#2. 🥙示例编写一个java程序:)

[3. 🥙在测试类方法上添加注解 @Test。](#3. 🥙在测试类方法上添加注解 @Test。)

[4. 🥙点击测试运行](#4. 🥙点击测试运行)

[5. 🥙查看运行结果:](#5. 🥙查看运行结果:)

[🐶2.5 注解的使用](#🐶2.5 注解的使用)


🐶2.1 什么是单元测试

在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。 程序单元是应用的最小可测试部件。简单来说,就是测试数据的稳定性是否达到程序的预期。

🐶2.2 测试分类:

1. *🥙*黑盒测试

不需要写代码,给输入值,看程序是否能够输出期望的值。

2. *🥙*白盒测试

需要写代码的。关注程序具体的执行流程。

🐶2.3 Junit介绍

Junit是一个Java语言的单元测试框架,属于白盒测试,简单理解为可以用于取代java的main方法。Junit属于第三方工具,需要导入jar包后使用。

🐶2.4 Junit的基本使用步骤:(默认使用 maven 创建项目)

关于maven的讲解:

Maven《一》-- 一文带你快速了解Maven-CSDN博客

1. *🥙*pom.xml中引入依赖:
java 复制代码
<!--单元测试的依赖-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
    </dependency>
2. *🥙*示例编写一个java程序:
java 复制代码
package com.maven.pojo.day0122;

public class Test01 {
    public static void main(String[] args) {
        System.out.println("main方法");
        
    }
    
    public void test(){
        System.out.println("JUnit单元测试");
    }
}
3. *🥙*在测试类方法上添加注解 @Test。
java 复制代码
package com.maven.pojo.day0122;

import org.junit.Test;

public class Test01 {
    public static void main(String[] args) {
        System.out.println("main方法");
        
    }
    
    @Test
    public void test(){
        System.out.println("JUnit单元测试");
    }
}
4. *🥙*点击测试运行
5. *🥙*查看运行结果:

执行结果红色:代表失败;执行结果绿色:代表成功。

java 复制代码
/*
    哪个方法想使用单元测试,就在方法上,添加注解: @Test
    注意:
        该方法的返回值类型,必须写为void
        该方法必须没有参数列表

     运行:
        方法上右键运行,运行的是含有@Test注解的方法
        类上右键运行,运行的是类当中含有@Test注解的所有方法
        绿条: 正常运行
        红条: 出现问题,异常了
 */

🐶2.5 注解的使用

  • @Test 这个注解表示可用测试, 就是可以直接单独测试这个方法 ,这个注解必须得有 我们看到整个测试类有个可运行的按钮, 说明可以一键运行下面@Test修饰的所有方法
  • 默认是按顺序一个一个全部执行, 但是使用@Ignore修饰后的某个方法就不会执行, 也就是在一键执行的时候忽略这个方法

  • @Before就是在一键测试的时候, 这个是最先执行的, 还有一个就是@After这个稀释后就是表示在最后测试这个方法

相关推荐
极光代码工作室2 小时前
基于SpringBoot的课程预约系统
java·springboot·web开发·后端开发
Leighteen3 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言
名字还没想好☜3 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine
圆山猫4 小时前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v
caishenzhibiao4 小时前
期货先行者主图 同花顺期货通指标
java·c语言·c#
史呆芬4 小时前
分布式事务实战:微服务跨服务数据一致性解决方案
java·后端·spring cloud
IT界的老黄牛4 小时前
限流命中后该怎么办:直接丢、阻塞等待、延迟重投三种姿势的取舍
java·rocketmq·redisson·令牌桶·削峰·分布式限流
daad7775 小时前
记录matlab状态机demo
java·网络·matlab
牡丹雅忻15 小时前
AES 加密模式演进:从 ECB、CBC 到 GCM 的 C# 深度实践
java·开发语言·c#
学者猫头鹰6 小时前
Java 8 核心新特性
java