我測試,它返回[]Groovy的。每個閉合包裹片[]
List<Object[]> list = someService.someMethod()
list.each { Object[] row ->
assertEquals(A_SIZE,row.length)
}
我雙通過調試器檢查對象的列表的服務,列表的元素是對象[8],但行被初始化爲Object [1],其中包含Object [8],因此除非A_SIZE爲1(在我的場景中沒有意義),否則測試將失敗。 如果我改變斷言到:
assertEquals(A_SIZE, row[0].length)
測試去罰款,但我不明白爲什麼我需要的「[0]」,因爲「行」應該是對象[8]據我所知,從Groovy規範。
我使用的是groovy 2.1和grails 2.3M2;該列表來自MyDomainClass.createCriteria()。
聞起來像中的錯誤Groovy的類型強制...作爲一個解決方法,你可以使用'list.each {row - >' –
它的工作原理!請將解決方案作爲回覆發佈,我會接受它。 謝謝 –
完成:-)(我相信是它的根本原因) –