有三种方法可以在Junit中声明某个异常。 让我们为它编写单元测试用例。
试试成语这个成语是最受欢迎的成语之一,因为它已经在JUnit 3中使用过。这种方法是一种常见的模式。 当没有抛出异常并且在catch子句中验证异常本身时,测试将失败。
@Test
public void convertIntoUpperCase_withInvalidInput_tryCatchIdiom() {
try {
exceptionHandling.convertIntoUpperCase("");
fail("It should throw IllegalArgumentException");
} catch (IllegalArgumentException e) {
Assertions.assertThat(e)
.isInstanceOf(IllegalArgumentException.class)
.hasMessage("Empty value is passed.");
}
}
2. @Test预期注释在这种方法中,我们在@Test中指定预期的异常,如下所示@Test(expected = IllegalArgumentException.class)
当没有抛出异常时,您将收到以下消息:java.lang.AssertionError:预期的异常:java.lang.IllegalArgumentException
使用这种方法,你需要小心。 有时候很容易期待一般的Exception,RuntimeException甚至是Throwable。 这被认为是一