二、SpringBoot2核心功能--04单元测试--02-JUnit5断言测试

本文详细介绍了SpringBoot2中使用JUnit5进行单元测试的各种断言方法,包括数组断言、组合断言、异常断言、超时断言和快速失败。还探讨了前置条件在测试中的作用,以及如何利用前置条件控制测试执行。最后,提到了JUnit5的嵌套测试功能,展示了如何组织相关测试方法。文章提供了具体的测试代码示例,帮助读者理解每个断言和前置条件的用法。
摘要由CSDN通过智能技术生成

1.2、数组断言


通过 assertArrayEquals 方法来判断两个对象或原始类型的数组是否相等

在这里插入图片描述

@DisplayName(“测试数组断言”)

@Test

void testArrayAssertions(){

Assertions.assertArrayEquals(new int[]{1,2},new int[]{2,2},“数组内容不相等”);

}

1.3、组合断言


assertAll 方法接受多个 org.junit.jupiter.api.Executable 函数式接口的实例作为要验证的断言,可以通过 lambda 表达式很容易的提供这些断言

在这里插入图片描述

@DisplayName(“测试组合断言”)

@Test

void testall(){

/**

  • 所有断言全部需要成功

*/

Assertions.assertAll(“test”,

()->assertTrue(1 > 0,“结果不是true”),

()->assertEquals(1,2,“结果不是1”));

}

1.4、异常断言


在JUnit4时期,想要测试方法的异常情况时,需要用@Rule注解的ExpectedException变量还是比较麻烦的。而JUnit5提供了一种新的断言方式Assertions.assertThrows() ,配合函数式编程就可以进行使用。

异常断言就是该业务逻辑应该是要抛出异常的,但是结果却没有抛出异常。说明业务逻辑有错误。

@DisplayName(“异常断言”)

@Test

void testException(){

/**

  • 该业务逻辑一定要抛出异常,如果没有抛出异常,说明业务逻辑错误

  • 断定义务逻辑一定会抛出异常

*/

Assertions.assertThrows(ArithmeticException.class, ()->{

int i = 10 / 2;

}, “业务逻辑竟然正常运行?”);

}

在这里插入图片描述

1.5、超时断言


该业务逻辑一定在我设置的执行时间范围之内执行完成,超时就要报错。

在这里插入图片描述

@Test

@DisplayName(“超时断言测试”)

public void timeoutTest() {

//如果测试方法时间超过1s将会异常

Assertions.assertTimeout(Duration.ofMillis(1000), () -> Thread.sleep(1500),“业务逻辑执行时间过长”);

}

1.6、快速失败


通过 fail 方法直接使得测试失败

在这里插入图片描述

@Test

@DisplayName(“测试快速失败断言”)

public void shouldFail() {

if(2 =&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值