Ich möchte einen Test schreiben, mit dem ich überprüfen kann, ob eine Funktion einen von zwei Werten zurückgibt. Zum Beispiel:Mit jUnit 4.12 und Hamcrest 1.3, wie kann ich behaupten, dass eine Funktion eine von zwei Ganzzahlen zurückgibt?
@Test
public void testRandomFunction() {
assertEquals(
either(equalTo(2)).or(equalTo(3)),
RandomFunction(5)
);
return;
}
Online lesen Ich habe über die Matcher in Hamcrest erfahren. Der Code kompiliert, aber wenn ich den Test ausführe, scheint es, dass die Ganzzahl 5 mit einem Matcher-Objekt verglichen wird anstelle von Ganzzahlen 2 und 3.
Ich bin offen für etwas anderes als Matcher, wenn es das einfacher macht. Weiß jemand wie ich das machen kann?
Ich habe versucht, auch die folgenden ohne Erfolg:
@Test
public void testRandomFunction() {
Set<Integer> acceptedValues = new HashSet<Integer>();
acceptedValues.add(2);
acceptedValues.add(3);
assertEquals(
isIn(acceptedValues),
RandomFunction(5)
);
return;
}
Genau das habe ich gesucht! Vielen Dank !!! – RodCardenas