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这个稀释后就是表示在最后测试这个方法

相关推荐
hzzzzzo016 小时前
微服务网关全解析:从入门到实践
java·开发语言·微服务
纪莫16 小时前
技术面:Spring (bean的生命周期、创建方式、注入方式、作用域)
java·spring·java面试⑧股
We....17 小时前
Java多线程分块下载文件
java·开发语言
不秃的开发媛17 小时前
Java连接池详解:从Oracle到TiDB的随缘之旅
java·oracle·tidb
Pluchon17 小时前
硅基计划3.0 Map类&Set类
java·开发语言·数据结构·算法·哈希算法·散列表
Angelyb17 小时前
微服务保护和分布式事务
java·微服务·架构
七夜zippoe18 小时前
缓存三大劫攻防战:穿透、击穿、雪崩的Java实战防御体系(一)
java·开发语言·缓存
帧栈18 小时前
开发避坑指南(46):Java Stream 对List的BigDecimal字段进行求和
java
重生之我是Java开发战士18 小时前
【数据结构】Java集合框架:List与ArrayList
java·数据结构·list
爱干饭的boy19 小时前
手写Spring底层机制的实现【初始化IOC容器+依赖注入+BeanPostProcesson机制+AOP】
java·数据结构·后端·算法·spring