2017-11-05 1 views
0

Angenommen, die folgende KlasseWie für java.lang.AssertionError (JUnit 5)

class classToTest{ 
    public static void methodToTest() { 
    assert false: "error is thrown"; 
    } 
} 

Ist es möglich, überprüfen 5 mit JUnit zu überprüfen, ob die methodToTest() die Fehler durch die Anweisung assert evozierte wirft?

Ich fand nur in der JUnit 5 doc die assertThrows, aber es prüft nur für Ausnahmen und nicht für Fehler.

Stellt fest, dass die Ausführung der angegebenen ausführbaren Datei eine Ausnahme vom expectedType auslöst und die Ausnahme zurückgibt.

Wie würde ein Testfall aussehen, um zu überprüfen, ob der Fehler ausgelöst wurde?

Antwort

2

Eigentlich mit assertThrows können Sie für alleThrowable wie Exception, RuntimeException und Error überprüfen. Das Schlüsselwort assert löst einen AssertionError aus, der ein Throwable ist.

AssertionError error = Assertions.assertThrows(AssertionError.class,() -> { 
    classToTest.methodToTest(); 
}); 
Assertions.assertEquals("error is thrown", error.getMessage());