Frage

erscheinen Es Assert.assertArrayEquals() Methoden in junit4 für alle Primitiven andere als das Doppelte sein, z.

Assert.assertArrayEquals(int[] expected, int[] actual)

und

Assert.assertArrayEquals(char[] expected, char[] actual)

aber nicht

Assert.assertArrayEquals(double[] expected, double[] actual, double eps)

oder

Assert.assertArrayEquals(double[] expected, double[] actual, double[] eps)

(letztere zu Konto für variable Bereiche von Doppelzimmer). Gibt es ein wesentlicher Grund, warum ich nicht eine solche Funktion schreiben sollte?

War es hilfreich?

Lösung

Es hat ein solches Verfahren haben (in 4.7), obwohl es nicht auf dem Online-javadoc dokumentiert hier . Es war sicherlich ein Versehen in der javadoc / Version, aber es ist jetzt da.

Andere Tipps

scheint Das Verfahren wurde in JUnit 4.6, hinzugefügt zu haben, aber aus irgendeinem Grunde ist in 4.5 und früheren Versionen fehlen. Ich würde nicht erwarten, dass Probleme auf eine neuere JUnit Version zu aktualisieren.

Nach der JUnit Bug-Datenbank, sie sind „ Arbeits auf sie “. Basierend auf anderen Antworten, es klingt wie die Bug-Datenbank nicht vollständig synchron mit der Realität ist.

nur Gebrauch:

 AssertTrue(**message**, Arrays.equals(**expected**,**result**)

Sie können diese benötigen, um Ihre Ergebniswerte zu Test abzurunden gegen erwarten:

 public double roundTo2Decimals(double val) {
    DecimalFormat df2 = new DecimalFormat("###.####");
    return Double.valueOf(df2.format(val));
}

Siehe javdoc für weitere Informationen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top