Я пишу функциональные тесты (geb + spock) для приложения Grails и хочу, чтобы приложение разрешало «фиктивную» реализацию Службы, когда приложение загружается во время тестирования.
«реальная» версия сервиса связывается с удаленным веб-сервисом.
В идеале, я бы имел фиктивную реализацию этого сервиса, которая возвращает фиктивные данные (вместо того, чтобы идти в реальный, удаленный веб-сервис), и иметьэтот сервис вводится во время выполнения функционального теста.
В настоящее время сервис внедряется в контроллеры на основе стандартного метода именования, например:
class BikeController {
def myService
def index = { render myService.doSomething() as JSON }
}
Возможно ли иметь что-тов моей конфигурации, например:
environments {
test {
/* register myMockService to be used where myService normally would */
}
}
(Во время модульного тестирования я просто заменяю методы и выполняю магию метакласса для достижения этих целей)
Если мне нужно создать интерфейс, хорошо, но все жекак все это подключить?Спасибо!