Ожидаемое исключение в jUnit? - PullRequest
8 голосов
/ 27 июня 2009

Есть ли эквивалент jUnit в ExpectedException или Assert.Throws <> в jUnit?

Ответы [ 3 ]

11 голосов
/ 24 ноября 2010

Вы могли бы также взглянуть на класс ExpectedException, который обеспечивает более полное соответствие исключений.

https://github.com/junit-team/junit/wiki/Exception-testing

Не только вы можете сопоставить класс исключений, но также вы можете применять пользовательские сопоставления к его сообщению.

7 голосов
/ 27 июня 2009

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 голосов
/ 30 марта 2012

Если вы используете 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.'
}
...