Как я могу автоматически добавить компоненты 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
?