Вопрос

Есть ли эквивалент 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.'
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top