如何检查 java.lang.AssertionError (JUnit 5)

How to check for java.lang.AssertionError (JUnit 5)

假设如下class

class classToTest{
  public static void methodToTest() {
    assert false: "error is thrown";
  }
}

如果 methodToTest() 抛出断言语句引发的错误,是否可以使用 JUnit 5 进行检查?

我只在 JUnit 5 文档中找到 assertThrows,但它只检查异常而不检查错误。

Asserts that execution of the supplied executable throws an exception of the expectedType and returns the exception.

测试用例如何检查引发错误的天气?

实际上,使用 assertThrows 您可以检查 all Throwable,例如 Exception、RuntimeException 和 Error。 assert关键字抛出AssertionError,这是一个Throwable。

AssertionError error = Assertions.assertThrows(AssertionError.class, () -> {
    classToTest.methodToTest();
});
Assertions.assertEquals("error is thrown", error.getMessage());