是否存在等效于NUnit的ExpectedException或Assert.Throws<>在jUnit?
答案 0 :(得分:11)
您也可以考虑查看ExpectedException类,它提供更丰富的异常匹配。
https://github.com/junit-team/junit/wiki/Exception-testing
您不仅可以匹配异常类,还可以将自定义匹配器应用于其消息。
答案 1 :(得分:7)
junit4:
@Test(expected = org.dom4j.DocumentException.class)
void shouldThrowException() {
getFile(null);
}
junit3:
void testShouldThrowException() {
try {
getFile(null);
fail("Expected Exception DocumentException");
} catch(DocumentException e) {}
}
答案 2 :(得分:2)
如果您使用Groovy进行junit测试,可以使用shouldFail。
以下是使用junit3样式的示例:
void testShouldThrowException() {
def message = shouldFail(DocumentException) {
documentService.getFile(null)
}
assert message == 'Document could not be saved because it ate the homework.'
}