Tests auf ausgelöste Ausnahmen beim Schreiben von Komponententests in JUnit für Java-Code. Ich habe vor langer Zeit einige Nachforschungen angestellt, aber als ich für eine Weile zum Frontend ging, Als ich zurückkam, wurde ich gefragt "Wie ist es?", Also werde ich es als Memorandum zusammenfassen.
JUnit: 4.12
Die folgenden zwei werden beschrieben.
Es ist einfach, überprüft jedoch nur die ausgelöste Ausnahmeklasse. Das Codebeispiel lautet wie folgt.
@Test(expected = IllegalArgumentException.class)
public void createAccountUserNameIsEmpty() {
// followings are test-code should throw IllegalArgumentException
// ...
}
Es ist im Code der Option "erwartet" geschrieben, aber um die Nachricht usw. zu überprüfen. Verwenden wir die später beschriebene "ExpectedException". Sie können auch Ausursachen durch Ausnahmen überprüfen. Der folgende Artikel beschreibt die Validierung von Durch Ausnahmen verursacht. https://qiita.com/komiya_atsushi/items/082d6a71e475a613338a
Wie bereits erwähnt, können Sie sowohl Ausnahmemeldungen als auch ausgelöste Ausnahmeklassen überprüfen. Das Codebeispiel lautet wie folgt.
//Stellen Sie sicher, dass Sie es öffentlich machen und nicht verwenden
//Da der Konstruktor privat ist, kann er nicht einfach neu sein.none()Erstellen Sie ein Objekt mit
// none()Die Implikation ist, dass das Testziel nicht unbedingt eine Ausnahme auslöst.
@Rule
public ExpectedException expectedException = ExpectedException.none();
@Test
public void createAccountUserNameIsEmpty() {
//Validierung von Ausnahmeklassen
expectedException.expect(IllegalArgumentException.class);
//Überprüfung der Ausnahmemeldung
expectedException.expectMessage("Failed to create an account; user name is empty.");
// followings are test-code should throw IllegalArgumentException
// ...
}
Es ist auch faul, die Codebeschreibung nicht richtig zu lesen ...
ExpectedException
ist eine Implementierungsklasse von TestRule
, aber wer ist TestRule
?Recommended Posts