springboot测试断言工具类Assertions

本文详细介绍了JUnit5中的Assertions类及其常用方法,如assertTrue,assertFalse,assertEquals等,帮助开发者编写更健壮的测试用例,验证预期结果与实际结果的对应关系。
摘要由CSDN通过智能技术生成

org.junit.jupiter.api.Assertions是JUnit 5中用于断言的工具类。它提供了一系列静态方法,用于验证预期结果和实际结果之间的关系。

以下是Assertions类中常用方法的作用和示例:

  1. fail()

    • 作用:断言失败,并抛出AssertionError异常。
    • 示例:
      Assertions.fail("This test should fail");
      
  2. assertTrue(boolean condition)

    • 作用:断言条件为真。
    • 示例:
      Assertions.assertTrue(5 > 2);
      
  3. assertFalse(boolean condition)

    • 作用:断言条件为假。
    • 示例:
      Assertions.assertFalse(2 > 5);
      
  4. assertNull(Object object)

    • 作用:断言对象为null。
    • 示例:
      Object obj = null;
      Assertions.assertNull(obj);
      
  5. assertNotNull(Object object)

    • 作用:断言对象不为null。
    • 示例:
      Object obj = new Object();
      Assertions.assertNotNull(obj);
      
  6. assertEquals(expected, actual)

    • 作用:断言两个对象相等。
    • 示例:
      String expected = "Hello";
      String actual = "Hello";
      Assertions.assertEquals(expected, actual);
      
  7. assertArrayEquals(expectedArray, actualArray)

    • 作用:断言两个数组相等。
    • 示例:
      int[] expectedArray = {1, 2, 3};
      int[] actualArray = {1, 2, 3};
      Assertions.assertArrayEquals(expectedArray, actualArray);
      
  8. assertIterableEquals(expectedIterable, actualIterable)

    • 作用:断言两个Iterable对象相等。
    • 示例:
      List<String> expectedList = Arrays.asList("A", "B", "C");
      List<String> actualList = Arrays.asList("A", "B", "C");
      Assertions.assertIterableEquals(expectedList, actualList);
      
  9. assertLinesMatch(expectedLines, actualLines)

    • 作用:断言两个字符串列表相匹配。
    • 示例:
      List<String> expectedLines = Arrays.asList("Hello", "World");
      List<String> actualLines = Arrays.asList("Hello", "World");
      Assertions.assertLinesMatch(expectedLines, actualLines);
      
  10. assertNotEquals(unexpected, actual)

    • 作用:断言两个对象不相等。
    • 示例:
      String unexpected = "Hello";
      String actual = "World";
      Assertions.assertNotEquals(unexpected, actual);
      
  11. assertSame(expected, actual)

    • 作用:断言两个对象引用相同。
    • 示例:
      Object obj1 = new Object();
      Object obj2 = obj1;
      Assertions.assertSame(obj1, obj2);
      
  12. assertNotSame(unexpected, actual)

    • 作用:断言两个对象引用不相同。
    • 示例:
      Object obj1 = new Object();
      Object obj2 = new Object();
      Assertions.assertNotSame(obj1, obj2);
      
  13. assertAll(executables…)

    • 作用:同时执行多个断言,并抛出合并的失败消息。
    • 示例:
      Assertions.assertAll("group",
          () -> Assertions.assertTrue(true),
          () -> Assertions.assertEquals(5, 5),
          () -> Assertions.assertNotNull(new Object())
      );
      
  14. assertThrows(expectedExceptionType, executable)

    • 作用:断言代码块引发指定的异常。
    • 示例:
      Assertions.assertThrows(IllegalArgumentException.class, () -> {
          throw new IllegalArgumentException("Invalid argument");
      });
      
  15. assertTimeout(duration, executable)

    • 作用:断言代码块在指定时间内执行完毕。
    • 示例:
      Assertions.assertTimeout(Duration.ofSeconds(1), () -> {
          // 代码块在1秒内执行完毕
          Thread.sleep(500);
      });
      
  16. assertTimeoutPreemptively(duration, executable)

    • 作用:断言代码块在指定时间内执行完毕,会中断执行。
    • 示例:
      Assertions.assertTimeoutPreemptively(Duration.ofSeconds(1), () -> {
          // 代码块在1秒内执行完毕,即使未完成也会中断执行
          Thread.sleep(2000);
      });
      
  17. assertInstanceOf(expectedType, obj)

    • 作用:断言对象是指定类型的实例。
    • 示例:
      Object obj = "Hello";
      Assertions.assertInstanceOf(String.class, obj);
      

这些方法可以帮助我们编写更加健壮的测试用例,对于预期结果和实际结果之间的差异进行验证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值