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

相关推荐
2401_8955213436 分钟前
【Spring Security系列】Spring Security 过滤器详解与基于JDBC的认证实现
java·后端·spring
皮卡蛋炒饭.1 小时前
线程的概念和控制
java·开发语言·jvm
一只大袋鼠1 小时前
MyBatis 入门详细实战教程(一):从环境搭建到查询运行
java·开发语言·数据库·mysql·mybatis
程序员老邢1 小时前
【人生底稿・番外篇 05】我的电影江湖:从录像带时代,到港片陪伴的青春岁月
java·程序人生·职场发展·娱乐
sonnet-10291 小时前
函数式接口和方法引用
java·开发语言·笔记
Bat U1 小时前
JavaEE|多线程(二)
java·开发语言
_Evan_Yao2 小时前
RAG中的“Chunk”艺术:我试过10种切分策略后总结的结论
java·人工智能·后端·python·软件工程
魂梦翩跹如雨2 小时前
数据库的“契约” —— 约束(Constrains)
java·数据库·mysql
独自破碎E3 小时前
面试官:你有用过Java的流式吗?比如说一个列表.stream这种,然后以流式去处理数据。
java·开发语言
2601_949818093 小时前
头歌答案--爬虫实战
java·前端·爬虫