Frage

Gibt es ein Äquivalent zu NUnit der ExpectedException oder Assert.Throws <> in jUnit?

War es hilfreich?

Lösung

junit4:

@Test(expected = org.dom4j.DocumentException.class)
void shouldThrowException() {
    getFile(null);
}

junit3:

void testShouldThrowException() {
    try {
      getFile(null);
      fail("Expected Exception DocumentException");
    } catch(DocumentException e) {}
}

Andere Tipps

Sie könnten auch erwägen einen Blick auf die ExpectedException der Klasse, die die reicheren Ausnahme Anpassung bereitstellt.

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

Sie können nicht nur die Ausnahmeklasse entsprechen, sondern auch können Sie benutzerdefinierte Matcher auf seine Nachricht anzuwenden.

Wenn Sie Groovy für Ihre JUnit-Tests verwenden, können Sie shouldFail .

Hier ist ein Beispiel unter Verwendung von junit3 Stil:

void testShouldThrowException() {
    def message = shouldFail(DocumentException) {
        documentService.getFile(null)
    }
    assert message == 'Document could not be saved because it ate the homework.'
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top