6

Assert.assertArrayEquals()Junit4には、double以外のすべてのプリミティブのメソッドがあるようです。

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

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

だがしかし

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

また

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

(後者はdoubleの可変範囲を説明するため)。そのような関数を書いてはいけない根本的な理由はありますか?

4

4 に答える 4

7

このメソッドは JUnit 4.6 で追加されたようですが、4.5 以前のバージョンでは何らかの理由で欠落しています。新しい JUnit バージョンへのアップグレードに問題はないと思います。

于 2009-10-19T22:28:11.790 に答える
6

このようなメソッドは (4.7 で) ありますが、オンラインの javadoc hereには記載されていません。これは確かに javadoc/バージョンの見落としでしたが、現在はあります。

于 2009-10-19T22:27:31.220 に答える
1

JUnitバグデータベースによると、彼らは「それに取り組んでいます」。他の回答に基づくと、バグデータベースは現実と完全に同期していないようです。

于 2009-10-19T22:30:28.077 に答える
0

ちょうど使用:

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

予想に対してテストするために結果値を丸めるために、これが必要になる場合があります。

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

詳細については、 javdocを参照してください

于 2017-10-13T18:34:28.777 に答える