Junit 测试中如何对异常进行断言

本文对在 Junit 测试中如何对异常进行断言的几种方法进行说明。

使用 Junit 5

如果你使用 Junit 5 的话,你可以直接使用 assertThrows 方法来对异常进行断言。

代码如下:

复制代码
        Exception exception = assertThrows(NumberFormatException.class, () -> {
            new Integer("one");
        });
        System.out.println(exception);

使用 AssertJ

使用 AssertJ ,你可以有不少方法进行选择。

我们尝试使用 assertThatThrownBy 和 assertThatExceptionOfType 2 个方法。

这 2 个方法的写法有点不一样,但是整体效果是差不多的。

考察如下代码:

复制代码
//        AssertJ assertThatThrownBy
        assertThatThrownBy(() -> {
            new Integer("one");
        }).isInstanceOf(NumberFormatException.class).hasMessageStartingWith("For input string");

        // AssertJ assertThatExceptionOfType
        assertThatExceptionOfType(NumberFormatException.class).isThrownBy(() -> {
            new Integer("one");
        });

上面代码中,对有关断言的使用进行了一些说明。

Junit 测试中如何对异常进行断言 - 测试发布 - OSSEZhttps://www.ossez.com/t/junit/13989

相关推荐
code_li10 分钟前
聊聊支付宝架构
java·开发语言·架构
少控科技39 分钟前
QT高阶日记01
开发语言·qt
CC.GG44 分钟前
【Linux】进程概念(五)(虚拟地址空间----建立宏观认知)
java·linux·运维
无限进步_1 小时前
【C++】大数相加算法详解:从字符串加法到内存布局的思考
开发语言·c++·windows·git·算法·github·visual studio
“抚琴”的人1 小时前
C#上位机工厂模式
开发语言·c#
巨大八爪鱼1 小时前
C语言纯软件计算任意多项式CRC7、CRC8、CRC16和CRC32的代码
c语言·开发语言·stm32·crc
C+-C资深大佬1 小时前
C++ 数据类型转换是如何实现的?
开发语言·c++·算法
木千1 小时前
Qt全屏显示时自定义任务栏
开发语言·qt
以太浮标1 小时前
华为eNSP模拟器综合实验之- AC+AP无线网络调优与高密场景
java·服务器·华为
Mr__Miss2 小时前
JAVA面试-框架篇
java·spring·面试