In JUnit4 können Sie parametrisierte Unit-Tests schreiben, indem Sie die Parameter-Collection in einer Methode bereitstellen, die an den Konstruktor des Tests übergeben und in einer anderen Methode getestet wird. Wenn ich einen Parameter habe, für den ich eine Ausnahme erwarte, wie kann ich das angeben?
Im Gegensatz zu dem, was andere vorschlagen, würde ich keine Art von Logik für Tests einführen - sogar einfache Wenns!
Was Sie haben sollten, sind zwei Testmethoden:
Nicht sicher, ob JUnit mit seinem erbauerbasierten parametrisierten Test dazu in der Lage ist. Wahrscheinlich müssten Sie dafür zwei Testklassen erstellen. Gehen Sie mit JUnit Params oder TestNG, die viel bequemere Lösung bieten.
Gabriel, bitte sehen Sie sich die TestWatcher-Regel an (seit JUnit 4.9). Hier ist der Beispielcode aus Ссылка :
%Vor%Ein anderer Ansatz wäre, ErrorCollector von JUnit 4.7 zu verwenden: @Regel public ExpectedException ausgelöst = ExpectedException.none ();
%Vor%Wenn Sie anstelle der entsprechenden Anmerkungen und Regeln von JUnit4 catch-exception verwendet haben, würde Ihr Code dies tun Sieh so aus:
%Vor%Tags und Links java unit-testing parameterized junit junit4