Ich bin neu in Junit & testen. Ich habe zwei Arrays, die aus Objekten der Klassenart MyUniqueClass bestehen. Ich betrachte die beiden Arrays als gleich, wenn sie dieselben Elemente an den gleichen Positionen haben. Außerdem habe ich die Methode equals() für meine eindeutige Klasse überschrieben.Junit-Check für die Gleichheit der Anordnung der einzigartigen Klasse
Ich möchte auf Gleichheit dieser beiden Arrays in Junit überprüfen. Ich konnte keine Methode in der API finden - http://junit.sourceforge.net/javadoc/org/junit/Assert.html Wie überprüfe ich die Gleichheit in Junit?
EDIT:
Wenn ich meinen JUnit-Test ausführen, um die Felder zu vergleichen, erhalte ich die Fehlermeldung:
arrays first differed at element [0]; expected: com.test.IntegerRange<[210, 210]> but was: com.test.IntegerRange<[210, 210]>
at org.junit.internal.ComparisonCriteria.arrayEquals(ComparisonCriteria.java:50)
at org.junit.Assert.internalArrayEquals(Assert.java:473)
Dank!
Die Nachricht sagt Ihnen genau, was Sie wissen müssen: Die Arrays sind unterschiedlich. Bedeutung: wenn Sie arrayOne [0] .equals (arrayTwo [0]) aufrufen; Das Ergebnis ist falsch. Lange Rede, kurzer Sinn: Sie denken, dass diese beiden Elemente identisch sind, und Sie nehmen an, dass Ihre equals() Implementierung korrekt ist. Aber gut, wenn das der Fall wäre, würden Sie nicht auf diese Fehlermeldung stoßen. Der Kern, den es zu verstehen gilt, ist: Sie sollten dem Compiler Glauben schenken und Botschaften ** mehr ** bestätigen, als Sie an Ihre Annahmen glauben. – GhostCat