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

相关推荐
ST.J5 分钟前
swing笔记
java·笔记
菩提树下的凡夫11 分钟前
瑞芯微RV1126目标识别算法Yolov8的部署应用
java·算法·yolo
爱隐身的官人20 分钟前
新后端漏洞(上)- Java RMI Registry反序列化漏洞
java·反序列化漏洞
叫我阿柒啊24 分钟前
从Java全栈到前端框架:一次真实的面试对话与技术解析
java·javascript·typescript·vue·springboot·react·前端开发
晚安里34 分钟前
Spring 框架(IoC、AOP、Spring Boot) 的必会知识点汇总
java·spring boot·spring
爱隐身的官人1 小时前
新后端漏洞(上)- Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938)
java·tomcat·ajp
@CLoudbays_Martin111 小时前
为什么动态视频业务内容不可以被CDN静态缓存?
java·运维·服务器·javascript·网络·python·php
四谎真好看1 小时前
Java 学习笔记(进阶篇2)
java·笔记·学习
上官浩仁1 小时前
springboot ioc 控制反转入门与实战
java·spring boot·spring
叫我阿柒啊2 小时前
从Java全栈到前端框架:一位程序员的实战之路
java·spring boot·微服务·消息队列·vue3·前端开发·后端开发