为什么junit4没有Assert.assertArrayEquals()双[]里?
题
有似乎是在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 获得的详细信息
不隶属于 StackOverflow