是否有一种简洁的内置方法可以对 JUnit 中的两个类似类型的数组进行等于断言?默认情况下(至少在 JUnit 4 中)它似乎对数组对象本身进行实例比较。
例如,不起作用:
int[] expectedResult = new int[] { 116800, 116800 }; int[] result = new GraphixMask().sortedAreas(rectangles); assertEquals(expectedResult, result);
当然,我可以手动完成:
assertEquals(expectedResult.length, result.length); for (int i = 0; i < expectedResult.length; i++) assertEquals("mismatch at " + i, expectedResult[i], result[i]);
..但是有更好的方法吗?
使用org.junit.Assert的方法assertArrayEquals:
assertArrayEquals
import org.junit.Assert; ... Assert.assertArrayEquals( expectedResult, result );
如果此方法不可用,您可能不小心从junit.framework.
junit.framework