Ich schrieb einen Junit-Test, um meinen Code zu testen. Ich möchte, dass mein Junit-Testfall fehlschlägt, wenn in meinem Code eine Ausnahme auftritt. Ich habe versucht, eine assert-Anweisung zu verwenden, aber selbst wenn ich eine Ausnahme in meinem Code erhalte, passiert mein Junit-Testfall. Kann mir bitte jemand sagen, wie ich das erreichen kann? Vielen Dank.Wie kann ein Junit-Testfall fehlschlagen, wenn eine Ausnahme im Code vorhanden ist?
Antwort
können Sie behaupten, dass eine globale Variable „ausgenommen“ = null oder so ähnlich das und initialisieren Sie es, um einige Informationszeichenfolge im catch-Block zu entsprechen.
Ich empfehle dringend, dass Sie nur Ihre Funktionalität testen. Wenn eine Ausnahme ausgelöst wird, wird der Test automatisch fehlschlagen. Wenn keine Ausnahme ausgelöst wird, werden alle Tests grün angezeigt.
Aber wenn Sie immer noch den Test-Code schreiben möchten, die im Falle von Ausnahmen ausfallen sollte, so etwas wie: -
@Test
public void foo(){
try{
//execute code that you expect not to throw Exceptions.
}
catch(Exception e){
fail("Should not have thrown any exception");
}
}
Sowohl die folgenden Tests werden ohne weitere Codierung fehlschlagen:
@Test
public void fail1() {
throw new NullPointerException("Will fail");
}
@Test
public void fail2() throw IOException {
throw new IOException("Will fail");
}
Eigentlich sollte Ihr Test nicht bestehen, wenn eine Ausnahme im Code ausgelöst. Natürlich, wenn Sie diese Ausnahme fangen und sie (oder irgendeine andere Ausnahme) nicht weiter werfen, wird der Test nichts davon wissen. In diesem Fall müssen Sie das Ergebnis der Methodenausführung überprüfen. Beispiel Test:
@Test
public void test(){
testClass.test();
}
Methode, die den Test nicht bestehen wird:
public void test(){
throw new RuntimeException();
}
Methode, die den Test nicht
public void test(){
try{
throw new RuntimeException();
} catch(Exception e){
//log
}
}
- 1. Wie kann der Build fehlschlagen, wenn neuer unbedeckter Code vorhanden ist?
- 2. Eine Ausnahme auslösen, wenn ein Optional <> vorhanden ist
- 3. Wie kann ein Leistungstest fehlschlagen, wenn er zu langsam ist?
- 4. Arbeitsblatt löschen, wenn Code vorhanden ist
- 5. Wie erstelle ich ein Echo, wenn eine Kopfzeile vorhanden ist?
- 6. Wie kann Gulp.src fehlschlagen, wenn eine Datei fehlt?
- 7. Kann ich eine neue C++ - Klasseninstanz fehlschlagen lassen, wenn bestimmte Bedingungen im Konstruktor nicht erfüllt sind?
- 8. Fangen Ausnahme im Code
- 9. Gibt es eine Möglichkeit, JUnit zu zwingen, bei jeder ungeprüften Ausnahme fehlschlagen, auch wenn verschluckt
- 10. Schienen: Wie im Voraus wissen, wenn "Speichern" wird fehlschlagen?
- 11. Wie kann ich ein PriorityBinding fehlschlagen lassen, wenn der zurückgegebene Wert Null ist?
- 12. Break-Test, wenn "If-Anweisung" fehlschlagen
- 13. Wie kann ich einem Code im Code ein Bild hinzufügen?
- 14. echo if-Anweisung, wenn der Schlüssel im Array vorhanden ist
- 15. Was ist die am besten geeignete Ausnahme, wenn eine erforderliche Konfigurationseinstellung app/web.config nicht vorhanden ist?
- 16. Wie kann Jenkins fehlschlagen, wenn keine Tests ausgeführt wurden?
- 17. Prüfen, ob ein Wert im Array vorhanden ist (AngularJS)
- 18. Angezeigten Parameter im Unterbericht anzeigen, wenn keine Übereinstimmung vorhanden ist
- 19. Warum ist der Typ eines Tupels eine Liste, wenn nur eine Liste im Tupel vorhanden ist?
- 20. Kann ich PHPUnit fehlschlagen lassen, wenn der Code eine Benachrichtigung auslöst?
- 21. Chefvorlage Wenn Attribut vorhanden ist
- 22. Wie kann ich eine Ausnahme testen, die nur ausgelöst wird, wenn der Systempfad falsch ist?
- 23. Wie kann man ein Argument deaktivieren, wenn ein anderes vorhanden ist?
- 24. Wie kann ich fehlschlagen, wenn DELETE nicht LÖSCHEN?
- 25. Warum JUnit Testing Ausnahme immer fehlschlagen?
- 26. skip_before_filter wenn api_key vorhanden ist
- 27. Wie/Warum kann Gabel() fehlschlagen
- 28. Datei anzeigen, wenn sie im angegebenen Pfad vorhanden ist
- 29. Kann ConcurrentDictionary.TryAdd fehlschlagen?
- 30. Wie kann ich Jenkins Build fehlschlagen lassen, wenn Maven Unit Tests fehlschlagen?
scheitern Ich denke, Sie 'fail' verwenden? –
Bitte zeigen Sie Ihren Code. JUnit sollte Tests automatisch fehlschlagen, wenn sie Ausnahmen auslösen. –