In meinem Testfall erhalte ich einen ganzzahligen Wert:
%Vor% Dann würde ich gerne überprüfen, ob val
entweder gleich 3 oder gleich 5 ist, was in beiden Fällen in Ordnung ist. Also habe ich:
Ich führe meinen Test aus, das Protokoll zeigt val
ist 5, aber mein oben angegebener Assertionscode ist mit AssertionFailedError fehlgeschlagen. Scheint, ich kann assertTrue(...)
auf diese Weise nicht verwenden, dann, wie man für OR-Bedingung wahr prüft?
ive versuchte einen schnellen Test zu schreiben:
%Vor%es passiert immer, also denke ich, es gibt einige dazwischen Code, wenn Ihr Wert geändert wird. Sie können
verwenden %Vor%um den Wert zu prüfen - diese Behauptung wird nette Informationen ausgeben, die falsch sind, zum Beispiel:
%Vor%Sie können Hamcrest-Matcher verwenden, um hier eine klarere Fehlermeldung zu erhalten:
%Vor%Dies wird klarer erklären:
%Vor%zeigt genau die Erwartung und den falschen Wert, der angegeben wurde.
Während Harmcrest-Matcher die Aufgabe übernehmen können, können diese Konstanten leicht zu einer wichtigeren Konstanten, wie einer Liste gültiger Werte, refaktoriert werden. Dann können Sie mit der Methode contains
prüfen, ob der Wert in der Liste vorhanden ist - IMO ist auch einfacher zu lesen:
Tags und Links java unit-testing junit junit4 junit3