[JAVA] [JUnit] Testen Sie die ausgelöste Ausnahme

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.

Überprüfungsumgebung

JUnit: 4.12

Methode

Die folgenden zwei werden beschrieben.

  1. Geben Sie die Auslöseklasse an, die mit der Option "@ Test" "erwartet" ausgelöst werden soll
  2. Geben Sie "ExpectedException" in "@ Rule" an und geben Sie die Ausnahme an, die in der Testmethode ausgelöst werden soll.

Geben Sie die Ausnahmeklasse an, die mit der Option "@ Test" "erwartet" ausgelöst werden soll

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

Geben Sie "ExpectedException" in "@ Rule" an und geben Sie die Ausnahme an, die in der Testmethode ausgelöst werden soll.

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
    // ...
}

Ich bin neugierig, aber ich habe nicht überprüft

Es ist auch faul, die Codebeschreibung nicht richtig zu lesen ...

Recommended Posts

[JUnit] Testen Sie die ausgelöste Ausnahme
JUnit Teststart versuchen Sie etwas
Machen Sie einen Unit-Test mit Junit.
Rufen Sie den Namen des Testfalls in der JUnit-Testklasse ab
Testen Sie den Inhalt einer Excel-Datei mit JUnit
[Java] JUnit4-Testfallbeispiel
[Spring] Controller-Ausnahmeausgabetest
Testen Sie private Methoden in JUnit
Testen Sie private Methoden in JUnit
Überprüfen Sie das Verhalten, wenn die in der JUnit 4 @ Test-Annotation angegebene Ausnahme auftritt oder nicht auftritt.
[Spring Boot] Bis @Autowired in der Testklasse [JUnit5] ausgeführt wird
JUnit-Testbericht in Maven ausgeben
[Java] Testen Sie private Methoden mit JUnit
Was sind die Regeln in JUnit?
Testen Sie den Spring Framework Controller mit Junit