Тестирование Grails Spring Integration - PullRequest
1 голос
/ 20 августа 2009

Я пытаюсь написать интеграционный тест для Сервиса, который использует шлюз для отправки запросов в очередь. Шлюз подключен к очереди с помощью весенней интеграции в resources.xml:

    <gateway 
            service-interface="WebRequestService" 
            id="webRequestGateway" 
            default-request-channel="queueChannel" /> 

Используя пример Расса Майлза http://blog.springsource.com/2008/12/11/spring-integration-in-grails-part-1/, Мне удалось написать тест интеграции контроллера, поскольку шлюз входит с использованием DI.

Однако, пытаясь сделать это с помощью теста интеграции служб, я не получаю DI для шлюза и не могу его инициализировать, поскольку это интерфейс.

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

Ответы [ 2 ]

2 голосов
/ 27 сентября 2010

Действительно пусто, Попробуйте это, следуя совету Люка Дейли в списке рассылки Grails:

В вашем тестовом классе объявите:

def grailsApplication

Тогда вы получите контекст приложения следующим образом: grailsApplication.mainContext

у меня работает; -)

0 голосов
/ 06 января 2010

Вы можете получить контекст приложения следующим образом:

import grails.test.*
import grails.spring.BeanBuilder

class FooBarTests extends GrailsUnitTestCase {
    boolean transactional = false

    void testSomething() {
        def bb = new BeanBuilder()
        bb.loadBeans("classpath:*.spring.resources.groovy")

        def applicationContext = bb.createApplicationContext()
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...