是否有JUnit5等价于ExpectedException.expectCause() (JUnit4)?https://junit.org/junit4/javadoc/4.12/org/junit/rules/ExpectedException.html#expectCause(org.hamcrest.Matcher)
发布于 2018-11-22 21:44:30
下面是一个示例:
public class ExpectedExceptionTest {
@Test
public void shouldThrow() {
IOException exc = Assertions.assertThrows(IOException.class, this::throwing);
Assertions.assertEquals("root cause", exc.getCause().getMessage());
}
private void throwing() throws IOException {
throw new IOException(new IllegalStateException("root cause"));
}
}就我个人而言,我更喜欢AssertJ,它具有非常描述性的异常断言。
发布于 2021-05-11 07:29:00
我们将ExpectedException.expectCause()替换为:
ThrowableAssert.ThrowingCallable throwingCallable = () -> someClass.methodWhichThrowAnException(someData);
assertThatThrownBy(throwingCallable).hasCauseInstanceOf(SomeException.class);https://stackoverflow.com/questions/53432093
复制相似问题