Ожидаемое исключение в jUnit?
-
20-08-2019 - |
Вопрос
Есть ли эквивалент ExpectedException или Assert.Throws<> NUnit в jUnit?
Решение
Юнит4:
@Test(expected = org.dom4j.DocumentException.class)
void shouldThrowException() {
getFile(null);
}
Юнит3:
void testShouldThrowException() {
try {
getFile(null);
fail("Expected Exception DocumentException");
} catch(DocumentException e) {}
}
Другие советы
Вы также можете рассмотреть возможность использования класса ExpectedException, который обеспечивает более детальное сопоставление исключений.
https://github.com/junit-team/junit/wiki/Exception-testing
Вы можете не только сопоставить класс исключения, но также применить к его сообщению собственные сопоставители.
Если вы используете Groovy для своих тестов Junit, вы можете использовать должен потерпеть неудачу.
Вот пример использования стиля junit3:
void testShouldThrowException() {
def message = shouldFail(DocumentException) {
documentService.getFile(null)
}
assert message == 'Document could not be saved because it ate the homework.'
}
Не связан с StackOverflow