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

目录

🐶2.1 什么是单元测试

🐶2.2 测试分类:

1. 🥙黑盒测试

2. 🥙白盒测试

🐶2.3 Junit介绍

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

1. 🥙pom.xml中引入依赖:

 2. 🥙示例编写一个java程序:

3. 🥙在测试类方法上添加注解 @Test。

4. 🥙点击测试运行

 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中引入依赖:
<!--单元测试的依赖-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
    </dependency>
 2. 🥙示例编写一个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。
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. 🥙查看运行结果:

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

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

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

🐶2.5 注解的使用

  • @Test 这个注解表示可用测试, 就是可以直接单独测试这个方法 ,这个注解必须得有 我们看到整个测试类有个可运行的按钮, 说明可以一键运行下面@Test修饰的所有方法

 

  • 默认是按顺序一个一个全部执行, 但是使用@Ignore修饰后的某个方法就不会执行, 也就是在一键执行的时候忽略这个方法

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/340941.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vscode连不上虚拟机,一直密码错误

最近在做毕设&#xff0c;但是vscode使用连接不上虚拟机&#xff0c;我以为是网络配置的问题&#xff0c;一顿查阅没找到原因。 后来查了一下ssh的日志&#xff0c;发现ssh有消息&#xff0c;但是也提示密码错误。 没找到密码配置格式什么的&#xff0c;经查看sshd配置文件发现…

为什么 HTTPS 协议能保障数据传输的安全性?

HTTP 协议 在谈论 HTTPS 协议之前&#xff0c;先来回顾一下 HTTP 协议的概念。 HTTP 协议介绍 HTTP 协议是一种基于文本的传输协议&#xff0c;它位于 OSI 网络模型中的应用层。 HTTP 协议是通过客户端和服务器的请求应答来进行通讯&#xff0c;目前协议由之前的 RFC 2616 拆…

基于springboot+vue的甘肃非物质文化网站(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 研究背景…

FUSEE: A Fully Memory-Disaggregated Key-Value Store——论文泛读

FAST 2023 Paper 元数据论文阅读汇总 问题 分布式内存键值&#xff08;KV&#xff09;存储正在采用分离式内存&#xff08;DM&#xff09;体系结构以提高资源利用率。然而&#xff0c;现有的DM上的KV存储采用半分离式设计&#xff0c;在DM上存储KV对&#xff0c;但在单个元数…

仓储管理系统——软件工程报告(需求分析)②

需求分析 一、系统概况 仓库管理系统是一种基于互联网对实际仓库的管理平台&#xff0c;旨在提供一个方便、快捷、安全的存取货物和查询商品信息平台。该系统通过在线用户登录查询&#xff0c;可以线上操作线下具体出/入库操作、查询仓库商品信息、提高仓库运作效率&#xff…

C++ 20 Module

头文件包含一直是C/C的传统&#xff0c;它使代码声明与实现分离&#xff0c;但它有一个非常大的问题就是会被重复编译&#xff0c;拖累编译速度。 通常一个标准头文件iostream展开后可能达几十万甚至上百万行。笔者使用下面的示例进行测试&#xff0c;新建一个main.cc&#xf…

每日一题——LeetCode1304.和为零的N个不同整数

方法一 个人方法 n为偶数&#xff0c;只要同时放入一个数的正数和负数&#xff0c;那么和总为0&#xff0c;n是奇数就放入一个0&#xff0c;剩下的当偶数看待 var sumZero function(n) {let res[]if(n%2!0){res.push(0)n--}nn/2for(let i1;i<n;i){res.push(i)res.push(-i…

Linux 系统中查看系统日志方法

Linux 系统提供了强大的日志功能&#xff0c;可以记录系统和应用程序的各种事件和错误信息。系统日志对于故障排除和性能监控非常重要。 一、使用命令行工具查看系统日志 1. 使用 journalctl 命令查看系统日志&#xff1a; journalctl 命令是 systemd 日志管理器的客户端工具…

npm下载依赖报Python,c++等相关错误

执行npm install 下载时&#xff0c;报错&#xff0c;缺少python相关的错 解决方法&#xff1a; //下载python 1、 npm install --global --production windows-build-tools//配置环境 &#xff1a; 也可暂时不用配置,能用就不用配置&#xff08;npm config set python &qu…

大数据学习之Flink,Flink部署

Flink部署 一、了解它的关键组件 客户端&#xff08;Client&#xff09; 作业管理器&#xff08;JobManager&#xff09; 任务管理器&#xff08;TaskManager&#xff09; 我们的代码&#xff0c;实际上是由客户端获取并做转换&#xff0c;之后提交给 JobManger 的。所以 …

力扣746. 使用最小花费爬楼梯

动态规划 思路&#xff1a; 定义 dp[i] 为到达下标 i 层的最小花费&#xff1b;则状态转移方程为&#xff1a; 第 i 层可以从第 i - 1 层爬一层或者第 i - 2 层爬两层到达&#xff1b;则 dp[i] std::min(dp[i - 1] cost[i - 1], dp[i - 2] cost[i - 2])初始状态&#xff1a…

【漏洞复现】CloudPanel makefile接口远程命令执行漏洞(CVE-2023-35885)

文章目录 前言声明一、CloudPanel 简介二、漏洞描述三、影响版本四、漏洞复现五、修复建议 前言 CloudPanel 是一个基于 Web 的控制面板或管理界面&#xff0c;旨在简化云托管环境的管理。它提供了一个集中式平台&#xff0c;用于管理云基础架构的各个方面&#xff0c;包括 &a…

可靠与稳定的数字化时代之选——亚信安慧AntDB数据库

在数字化时代&#xff0c;数据已经成为企业的重要资产。为了确保数据的可靠、稳定与高效处理&#xff0c;越来越多的企业选择亚信安慧AntDB数据库作为其核心数据存储和处理解决方案。AntDB数据库凭借其超融合、可靠和稳定的特点&#xff0c;为企业提供了卓越的数据管理体验。 …

终端(命令提示符或Windows PowerShell或Azure Cloud Shell)概述

终端&#xff08;命令提示符或Windows PowerShell或Azure Cloud Shell&#xff09;是一种很 不 好用的东西 就是要背&#xff0c;很 不 爽 介绍 Windows 终端是一个新式主机应用程序&#xff0c;它面向你喜爱的命令行 shell&#xff0c;如命令提示符、PowerShell 和 bash&…

OpenCV——Scharr边缘检测

目录 一、Scharr算法1、算法概述2、主要函数 二、C代码三、python代码四、结果展示1、灰度图2、X方向一阶边缘2、Y方向一阶边缘3、整幅图像的一阶边缘 五、相关链接 OpenCV——Scharr边缘检测由CSDN点云侠原创&#xff0c;爬虫自重。如果你不是在点云侠的博客中看到该文章&…

代码+视频R语言绘制逆概率加权后的基线表

基于 PS &#xff08;倾向评分&#xff09;的逆概率加权(IPTW )法首先由&#xff32;osenbaum作为一种以模型为基础的直接标准化法提出&#xff0c;属于边际结构模型。简单来说&#xff0c;就是把许多协变量和混杂因素打包成一个概率并进行加权&#xff0c;这样的话&#xff0c…

机器学习_线性回归原理和实战

文章目录 线性回归原理线性回归实战 线性回归原理 在讲线性回归之前&#xff0c;我们先看看中学时学的&#xff0c;一元线性回归的公式&#xff1a;ya∗xb。这公式对于本篇内容关联还是挺大的。 所谓回归分析 (regression analysis)&#xff0c;就是确定两种或两种以上变量间…

小程序中使用echarts实现带边框雷达图

小程序中怎么使用echarts的流程在这边文章&#xff0c;点击去观看 我们项目需要实现一个带边框的雷达图&#xff0c;看了API之后没有发现怎么去实现这个边框&#xff0c;所以想到了画两个雷达图来实现这个边框&#xff0c;具体效果如上&#xff0c;代码如下 // 初始化雷达图i…

未来趋势:视频美颜SDK与增强现实(AR)的融合

当下&#xff0c;视频美颜SDK不断演化&#xff0c;成为用户记录和分享生活时不可或缺的一部分。同时&#xff0c;增强现实技术也以其独特的沉浸感和交互性受到青睐&#xff0c;被广泛应用于游戏、教育、医疗等领域。 一、视频美颜与AR的结合 1.实时美颜的AR增值体验 借助AR的…

定向减免!函数计算让轻量 ETL 数据加工更简单,更省钱

作者&#xff1a;澈尔、墨飏 业内较为常见的高频短时 ETL 数据加工场景&#xff0c;即频率高时延短&#xff0c;一般均可归类为调用密集型场景。此场景有着高并发、海量调用的特性&#xff0c;往往会产生高额的计算费用&#xff0c;而业内推荐方案一般为攒批处理&#xff0c;业…