java测试junit

JUnit Platform是底层的测试执行引擎,JUnit Jupiter是JUnit 5的主要测试框架,而JUnit Vintage允许在JUnit 5平台上运行旧版本的测试。
所以想要使用junit5,必须包含platform和jupiter。
JUnit Platform
├── JUnit Jupiter
└── JUnit Vintage

//常用注解测试
@DisplayName("Common annotation test")
public class AnnotationsTest {private static Add add;@BeforeAllpublic static void beforeAll() {add=new Add();//在所有测试方法运行前运行System.out.println("Run before all test methods run");}@BeforeEachpublic void beforeEach() {//每个测试方法运行前运行System.out.println("Run before each test method runs");}@AfterEachpublic void afterEach() {//每个测试方法运行完毕后运行System.out.println("Run after each test method finishes running");}@AfterAllpublic static void afterAll() {//在所有测试方法运行完毕后运行System.out.println("Run after all test methods have finished running");}@Disabled@Test@DisplayName("Ignore the test")public void disabledTest() {//这个测试不会运行System.out.println("This test will not run");}@Test@DisplayName("Test Methods 1+1")public void testAdd1() {System.out.println("Running test method1+1");Assertions.assertEquals(2,add.add(1,1));}@Test@DisplayName("Test Methods 2+2")public void testAdd2() {System.out.println("Running test method2+2");Assertions.assertEquals(4,add.add(2,2));}}

常用断言

assertEquals

检查两个值是否相等。
assertEquals(expected, actual);

assertNotEquals

检查两个值是否不相等。
assertNotEquals(notExpected, actual);

assertTrue 和 assertFalse

验证条件是否为真或为假。
assertTrue(condition);
assertFalse(condition);

assertNull 和 assertNotNull

验证值是否为 null 或不为 null。
assertNull(nullValue);
assertNotNull(nonNullValue);

assertArrayEquals

检查两个数组是否相等。
assertArrayEquals(expectedArray, actualArray);

assertThrows

验证是否抛出了期望的异常。
assertThrows(ExpectedException.class, () -> {
// 代码块,期望抛出 ExpectedException 异常
});

assertDoesNotThrow

验证没有抛出异常。
assertDoesNotThrow(() -> {
// 代码块,不应该抛出任何异常
});

assertSame 和 assertNotSame:

验证两个对象是否是同一个引用或不是同一个引用。
assertSame(expectedObject, actualObject);
assertNotSame(notExpectedObject, actualObject);

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习基础】决策树(Decision Tree)

🚀个人主页:为梦而生~ 关注我一起学习吧! 💡专栏:机器学习 欢迎订阅!后面的内容会越来越有意思~ ⭐特别提醒:针对机器学习,特别开始专栏:机器学习python实战 欢迎订阅&am…

OpenTitan- 开源安全芯片横空出世

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

Linux——系统文件I/O

系统文件I/O 注:学习本次内容之前,最好先对C语言文件操作有所了解 本章思维导图: 注:思维导图对应的.xmind文件和.png文件都已同步导入至资源,可供免费查阅 在以前学习的C语言中,我们可以通过fwrite和fre…

设计模式之:状态模式(State Pattern)

状态模式(State Pattern) 状态模式是一种行为设计模式,允许一个对象在其内部状态改变时改变它的行为。这种模式通过把状态的变化逻辑分布到State的子类之间,减少了相互间的依赖,使得状态的切换更加清晰。 状态模式的…

通过玩游戏学会AWS

游戏名字: Cloud Quest 类型:亚马逊云科技官方出了一款 3D 角色扮演、虚拟城市建造形式的游戏实验课 进入方法:浏览器搜索 Cloud Quest(或扫描下方二维码)进入 Cloud Quest 课程页。 选择以下的链接 点击进行注册 进…

云计算基础-虚拟机迁移原理

什么是虚拟机迁移 虚拟机迁移是指将正在运行的虚拟机实例从一个物理服务器(或主机)迁移到另一个物理服务器(或主机)的过程,而不会中断虚拟机的运行。 虚拟机拟机迁移分类虚 热迁移:开机状态下迁移 冷迁…

ChatGPT和LLM

ChatGPT和LLM(大型语言模型)之间存在密切的关系。 首先,LLM是一个更为抽象的概念,它包含了各种自然语言处理任务中使用的各种深度学习模型结构。这些模型通过建立深层神经网络,根据已有的大量文本数据进行文本自动生成…

单部10层电梯控制系列之UDT数据类型的建立(SCL代码)

这篇博客开始介绍单部10层电梯的完整控制程序编写过程,编程语言:SCL,控制器型号:S7-1200PLC。开篇博客我们介绍电梯控制用到的所有UDT数据类型。在学习本篇博客之前大家可以参考下面文章,了解博途PLC里的UDT数据类型是如何建立的。 博途UDT数据类型介绍: https://rxxw-…

如何在Java中创建线程?

在Java中创建线程主要有两种方式:通过继承Thread类,或者实现Runnable接口。下面将对这两种方式进行详细介绍。 1. 继承Thread类 继承Thread类是创建线程的一种直接方式。在这种方式中,你需要创建一个Thread的子类,并重写它的run…

P2P 应用

P2P 工作方式概述 在 P2P 工作方式下,所有的音频/视频文件都是在普通的互联网用户之间传输。 1 具有集中目录服务器的 P2P 工作方式 Napster 最早使用 P2P 技术,提供免费下载 MP3 音乐。 Napster 将所有音乐文件的索引信息都集中存放在 Napster 目录服…

C++中const关键字的常见用法【常成员变量/常成员函数/常引用/常量指针/指针常量/常量参数】

看下面这样一个例子,其中出现了9个const: class MyClass {【1】const int n;……【2】const char * function(【3】const int & aa) 【4】const{……} } ;int main(void) {【5】const MyClass c(10);【6】const char * p1;……int * 【7】const p2 …

Ubuntu Desktop 显示文件路径

Ubuntu Desktop 显示文件路径 1. GUI hot key2. CLIReferences 1. GUI hot key Ctrl L: 显示文件路径 2. CLI right click -> Open in Terminal -> pwd strongforeverstrong:~/Desktop$ pwd /home/strong/DesktopReferences [1] Yongqiang Cheng, https://yongqiang…

(08)Hive——Join连接、谓词下推

前言 Hive-3.1.2版本支持6种join语法。分别是:inner join(内连接)、left join(左连接)、right join(右连接)、full outer join(全外连接)、left semi join(左…

C++ “雪花算法“原理

C雪花算法并不是传统的数据结构与算法而是一种崭新的分布式算法 属于深层次C 本篇文章就来描述一下雪花算法 什么是雪花算法: 雪花算法(Snowflake)是Twitter开源的一种分布式唯一ID生成算法。它可以在不依赖于数据库等其他存储设施的情况下&#xff0c…

Anaconda windows安装

1.推荐到清华源去下载windows.exe安装包 anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 2.创建新环境 conda create --name python38 python==3.8 3.激活新环境 conda activate python38 4.创建condarc文件 conda config --set show_ch…

【每日一题】06 排序链表

问题描述 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 求解 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* sortList(struct ListNode* head) {struct…

线性注意力机制全新升级!性能显著提高,速度、精度更优

线性注意力机制通过对传统注意力机制中的Softmax操作进行线性化处理,可以提高Transformer模型的并行性能、降低复杂度,在计算效率、模型表达能力等方面都具有优势。 作为一种常用有效的优化方法,线性注意力机制可以在保证模型性能的同时提高…

C# CAD-Xdata数据 添加(一)

运行环境Visual Studio 2022 c# cad2016 一、XData(扩展数据)特定代码值 XData(扩展数据)特定代码值 XData通过一系列DXF组码(DxfCode)存储不同类型的数据,包括但不限于ASCII字符串、已注册应…

LevelDB源码阅读笔记(0、下载编译leveldb)

LevelDB源码阅读笔记(0、下载编译leveldb) LeveDB源码笔记系列: LevelDB源码阅读笔记(0、下载编译leveldb) 本博客环境如下 [rootlocalhost build]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core…

qt 开发 “控件之家“

本篇文章我们来描述一下Qt 控件 是qt中最基本 也是最难缠的 有种“小鬼难缠的感觉” qt常用控件大集合 Qt是一个广泛使用的跨平台应用程序框架,它提供了许多用于构建图形用户界面(GUI)的控件。以下是一些Qt中常用的控件: QPushButton:这是…