Как я могу автоматически добавить компоненты Grails, объявленные в resources.groovy, в мои IntegrationSpecs?

Используя плагин Spock (0.7) Grails (2.1.2), вы можете написать спецификации интеграции, которые автоматически внедряют архетипы Grails (например, сервисы). Тем не менее, я хотел бы сделать то же самое для бобов Spring, объявленных только в моем resources.groovy, Например:

beans = {
    simpleBean(SimpleBean) {
        // load some dependencies
    }
}

Где SimpleBean объявлен в src/groovy папка. Если бы это был сервис Grails, я мог бы написать что-то вроде следующего в моем test/integration папка::

import grails.plugin.spock.IntegrationSpec

class SimpleBeanSpec extends IntegrationSpec {

    def simpleBean

    def "should"() {
        when:
            data = simpleBean.load()
        then:
            assert simpleBean
    }

}

Но вышесказанное NullPointerException по вызову simpleBean.load(), Есть ли какой-нибудь способ заставить Спока / Граилса создать зависимость simpleBean, чтобы он имел все настроенные зависимости от resources.groovy как бы вы обслуживали Грааля?

1 ответ

Grails автоматически вводит все bean-компоненты в интеграционные тесты, включая тесты Спока. Бобы объявлены в resources.conf должен работать так же, как артефакты. Ваши IntegrationSpecs расположены под test/integration?

Другие вопросы по тегам