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

相关推荐
Dcs几秒前
立即卸载这些插件,别让它们偷你的资产!
java
小七mod10 分钟前
【Spring】Java SPI机制及Spring Boot使用实例
java·spring boot·spring·spi·双亲委派
亿.635 分钟前
【Java安全】RMI基础
java·安全·ctf·rmi
ruan1145141 小时前
Java Lambda 类型推断详解:filter() 方法与 Predicate<? super T>
java·开发语言·spring·stream
朱杰jjj1 小时前
解决jenkins的Exec command命令nohup java -jar不启动问题
java·jenkins·jar
上上迁1 小时前
分布式接口幂等性的演进和最佳实践,含springBoot 实现(Java版本)
java·spring boot·分布式
匚WYHaovous1 小时前
Java断言的深度解析与实战指南
java
WanderInk1 小时前
揭秘Java协变返回类型:让你的API少一点强转,多一点优雅
java·后端
paopaokaka_luck1 小时前
基于SpringBoot+Vue的非遗文化传承管理系统(websocket即时通讯、协同过滤算法、支付宝沙盒支付、可分享链接、功能量非常大)
java·数据库·vue.js·spring boot·后端·spring·小程序
iteye_99392 小时前
让 3 个线程串行的几种方式
java·linux