rha*_*l80 12 java junit hamcrest
我想比较两个双打阵列.使用vanilla JUnit,我可以这样做:
double[] a = new double[]{1.0, 2.0, 3.0};
double[] b = new double[]{1.0, 2.0, 3.0};
assertEquals(a, b, 1e-10);
Run Code Online (Sandbox Code Playgroud)
我想知道如何使用Hamcrest,最好不要创建自定义匹配器(如果可能).类似于为数组中的每个元素使用"close"匹配器的东西.
Gar*_*all 10
如果更改a为a,Double[]则可以assertThat(a, arrayCloseTo(b, .2));使用此辅助方法:
public static Matcher<Double[]> arrayCloseTo(double[] array, double error) {
List<Matcher<? super Double>> matchers = new ArrayList<Matcher<? super Double>>();
for (double d : array)
matchers.add(closeTo(d, error));
return arrayContaining(matchers);
}
Run Code Online (Sandbox Code Playgroud)
你也可以使用原始数组,但是你需要一个自定义匹配器.
| 归档时间: |
|
| 查看次数: |
1513 次 |
| 最近记录: |