Gibt es eine prägnante, integrierte Möglichkeit, in JUnit gleichartige Assertions auf zwei gleichartigen Arrays auszuführen? Standardmäßig (zumindest in JUnit 4) scheint es, dass ein Instanzenvergleich für das Array-Objekt selbst durchgeführt wird.Vergleichen von Arrays in JUnit Assertions, prägnante integrierte?
EG, nicht funktioniert:
int[] expectedResult = new int[] { 116800, 116800 };
int[] result = new GraphixMask().sortedAreas(rectangles);
assertEquals(expectedResult, result);
Natürlich kann ich es tun manuell mit:
assertEquals(expectedResult.length, result.length);
for (int i = 0; i < expectedResult.length; i++)
assertEquals("mismatch at " + i, expectedResult[i], result[i]);
..aber gibt es einen besseren Weg?
Was stinkt über dass, obwohl ist, dass Sie keine Daten zu bekommen, was schief gelaufen ist, wenn es fehlschlägt. – mBria
Schön, wenn Sie auf einer älteren Junit-Version sind (wie auf Android) – Zitrax
Wenn Sie sehen wollen, welche Bytes nicht übereinstimmen, können Sie sie in string konvertieren: assertEquals (Arrays.toString (expectedResult), Arrays.toString (result)) ; – Erdem