我正在测试一个返回 Object[] 列表的服务
List<Object[]> list = someService.someMethod()
list.each { Object[] row ->
assertEquals(A_SIZE,row.length)
}
我通过调试器仔细检查,列表的元素是 Object[8],但是行被初始化为一个 Object[1],其中包含一个 Object[8],所以测试失败,除非 A_SIZE 为 1(这在我的场景中没有意义) . 如果我将断言更改为:
assertEquals(A_SIZE, row[0].length)
测试顺利,但我不明白为什么我需要“[0]”,因为据我从 Groovy 规范了解,“行”应该是 Object[8]。
我正在使用 groovy 2.1 和 grails 2.3M2;该列表来自 MyDomainClass.createCriteria()。