2013-08-23 3 views
2

Этот поток описывает, как вызвать службу в целях: How do I get an instance of a Grails service programmatically?Как вызвать службу в тесте интеграции Grails

Это описывает, как называют его в сервлет: How do I get an instance of a Grails service programmatically?

Это один говорит, как назовите его в контроллере: How to dynamically select a service in Grails

Мне нужно получить ручку для моей службы в тесте интеграции. Это возможно?

+2

Не могли бы вы просто поставить 'def myService' в тесте, и грайл должен ввести его AFAIK –

ответ

8

Если у вас есть интеграционный тест, у вас есть доступ ко всему времени выполнения, поэтому просто вводите его, как обычно.

def someService 
+0

Это не работает для меня в версии 2.3.4 – Rafael

6

Посмотрите на Testing Controllers with Service.

Gist:
Вы должны инициализировать службу (весна Bean) на контроллер в тесте.

class FilmStarsTests extends GroovyTestCase { 
    def popularityService 
    void testInjectedServiceInController() { 
     def fsc = new FilmStarsController() 
     fsc.popularityService = popularityService 
     fsc.update() 
    } 
} 

Услуги проходят аудит в интеграционных тестах, как в контроллерах.

Смежные вопросы