Junit assert ODER Bedingung in meinem Fall
In meinem test-Fall, ich bekomme einen integer-Wert:
int val = getXXX();
Dann, würde ich mag, um zu überprüfen, ob val
entweder gleich 3 oder gleich 5, das ist ok in jedem Fall. Also, ich habe:
assertTrue(val == 3 || val==5);
Habe ich ein test, der log zeigt val
ist 5, aber meine obige Behauptung-code konnte nicht mit AssertionFailedError. Scheint, ich kann nicht verwenden assertTrue(...)
auf diese Weise, dann, wie zu überprüfen, wahr für ODER-Bedingung?
Debug-test und prüfen Sie den Wert von
val
Recht vor, die assertTrue
- Anweisung. Ist es immer noch 5?InformationsquelleAutor Leem.fin | 2013-09-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
ive versucht, zu schreiben, quick-test:
sein vergehen immer so dass ich denke, es ist etwas dazwischen-code, wenn Ihr Wert geändert wird.
Sie können
überprüfen Wert - diese Behauptung wird drucken Sie nette info was falsch, zum Beispiel:
InformationsquelleAutor smajlo
Können Sie Hamcrest Matcher um eine klarere Fehlermeldung hier:
Wird dies deutlicher erklären:
zeigt genau die Erwartung und der falsche Wert, der geliefert wurde.
Downvote, weil "Matcher kann nicht aufgelöst werden"
InformationsquelleAutor Joe
Während Harmcrest Matcher können den job tun, diese Konstanten können leicht umgestaltet werden, um mehr meaninful konstant, wie eine Liste der gültigen Werte. Dann können Sie die
contains
Methode, um zu überprüfen, dass der Wert in der Liste vorhanden ist - IMO ist auch einfacher zu Lesen ist:Foo.VALID_VALUES.contains(i)
ist weniger deutlich als der Ansatz mit Harmcrest Matcher. Harmcrest bietet auch ein matcher mit enthält, die auch viel besser als dieses.InformationsquelleAutor A. Rodas
In meinem Fall wollte ich einige komplexe assertion-Logik, also habe ich einfach implementiert eine Methode, die einen booleschen Wert zurückgibt und es hat die Aufgabe, die Art und Weise es umgesetzt würde in diesem Beispiel wie folgt:
Dann die Behauptung:
Natürlich kann die Methode enthalten, die eine komplexere Logik, wenn nötig
InformationsquelleAutor Mis94