有似乎是在Junit4 Assert.assertArrayEquals()方法比其他双所有原语,e.g。

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)

(后者以考虑双打的变量范围)。有,为什么我不应该写这样一个功能的根本原因?

有帮助吗?

解决方案

它确实有这样的方法(在4.7),尽管它未在在线的Javadoc 记录这里。这是肯定的Javadoc /版本的监督,但现在是存在的。

其他提示

的方法似乎已经在JUnit的4.6被添加,但是由于某些原因在4.5和以前的版本丢失。我不希望升级到新版本的JUnit任何问题。

根据JUnit的错误数据库,它们是“工作它的”。基于其它的答案,这听起来像bug数据库是不完全符合现实同步。

只是使用:

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

您可能需要这圆你的结果值测试与预期:

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

请参阅 javdoc 获得的详细信息

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top