由于
Exception是检查异常,因此您可以:
- 必须在
try...catch
语句中捕获异常,或者 - 声明要在方法本身中引发的异常。
您在这里的工作正常,但我个人的喜好是声明要抛出的异常。这样,如果在测试运行期间引发了意外的异常,则测试将 失败 。
@Testpublic void someTest() throws Exception { // dodgy pre here}如果我们需要查看是否引发了特定的异常,则可以选择直接使用
@Rule值或将其添加到
@Test注释中。
@Test(expected = FileNotFoundException.class)public void someTest() throws Exception { // dodgy pre here}在JUnit
5中,您可以利用它
Assertions.assertThrows来完成同一件事。我对此不太熟悉,因为在编辑时它还不是GA,但是它似乎可以接受
Executable来自JUnit
5的信息。
@Testpublic void someTest() { assertThrows(FileNotFoundException.class, () -> { dodgyService.breakableMethod() };}


