开发者社区> 问答> 正文

在JUnit断言中比较数组,简洁的内置方式?

在JUnit中是否有一种简洁的内置方法来对两个相似类型的数组进行相等声明?默认情况下(至少在JUnit 4中),它似乎在数组对象本身上进行了实例比较。

EG,不起作用:

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]); ..但是还有更好的方法吗?

展开
收起
保持可爱mmm 2020-02-06 23:28:02 1453 0
1 条回答
写回答
取消 提交回答
  • 使用org.junit.Assert的方法assertArrayEquals:

    import org.junit.Assert;

    Assert.assertArrayEquals( expectedResult, result ); 如果此方法不可用,则可能意外地从中导入了Assert类junit.framework.

    2020-02-09 10:22:26
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
《0代码搭应用》 立即下载
不止代码 立即下载
用RxSwift写易维护易读的愉悦代码 立即下载