Object[] のリストを返すサービスをテストしています
List<Object[]> list = someService.someMethod()
list.each { Object[] row ->
assertEquals(A_SIZE,row.length)
}
デバッガーで再確認しましたが、リストの要素は Object[8] ですが、行は Object[8] を含む Object[1] として初期化されるため、A_SIZE が 1 でない限りテストは失敗します (これは私のシナリオでは意味がありません)。 . アサートを次のように変更すると:
assertEquals(A_SIZE, row[0].length)
テストはうまくいきますが、Groovy の仕様から理解できる限り、「行」は Object[8] であるはずなので、「[0]」が必要な理由がわかりません。
Groovy 2.1 と grails 2.3M2 を使用しています。リストは MyDomainClass.createCriteria() から取得されます。