Ich erhalte die folgende Fehlermeldung beim Testen des Controllers - siehe unten den Code. Wie kann ich das korrigieren? Wenn ich die Service-Methode vom Controller aus aufrufe (run-app), funktioniert es einwandfrei.
Ausnahme:
groovy.lang.MissingMethodException: Keine Signatur der Methode: grails.test.GrailsMock.isOk() ist anwendbar für Argumenttypen: (java.lang.String) Werte: [H] bei ...VControllerSpec.test something(VControllerSpec.groovy:)
Klasse: VControllerSpec
import grails.test.mixin.TestFor
import spock.lang.Specification
@TestFor(VController)
@Mock(VService)
class VControllerSpec extends Specification {
void "test something"() {
given:
def vServiceMock = mockFor(VService)
vServiceMock.demand.isOk { String yeah -> return true }
controller.vService = vServiceMock.createMock()
when:
def isO = vServiceMock.isOk("H")
then:
isO == true
}
}
Klasse:VService
import grails.transaction.Transactional
@Transactional
class VService {
def isOk = { String yeah ->
def isO = false
return isO
}
}
Danke, Steve