私はそのようなコードを持っています:
@TestFor(MyService)
class MyServiceTests {
void testIt() {
def logTo = []
def loggerMock = mockFor(service.log.class)
loggerMock.demand.error(1..1) { String msg, Exception ex ->
logTo << [level: 'error', msg: msg, ex: ex]
}
service.log = loggerMock.createMock()
}
}
次のエラーで失敗します。
| Failure: testIt(MyServiceTests)
| java.lang.ArrayIndexOutOfBoundsException: 0
at SLF4JLog_groovyProxy.<init>(Script1.groovy:4)
at Script1.run(Script1.groovy:8)
at grails.test.GrailsMock.createMock(GrailsMock.groovy:91)
at package.MyServiceTests.testIt>>>(MyServiceTests.groovy:25)
行を指していますservice.log = loggerMock.createMock()
。どうしたの?