Junit behauptet OR in meinem Fall

8

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:

%Vor%

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?

    
Leem.fin 25.09.2013, 12:14
quelle

3 Antworten

7

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%     
smajlo 25.09.2013, 12:22
quelle
23

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.

    
Joe 28.09.2013 07:22
quelle
2

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:

%Vor%     
A. Rodas 15.01.2015 11:40
quelle