Как ввести бобовые в тест спока - PullRequest
6 голосов
/ 21 марта 2012

Я новичок в споке.Я пытаюсь написать спок модульный тест для отдельного Java-приложения, использующего JDK 1.7, Spring 3.1, Groovy 1.8.6, Spock 0.6, Maven 3.0.4Базовый тест на спок hello world работает.Однако, когда я пытаюсь протестировать весенние бобы, я обнаруживаю, что они не получают инъекции.Я использую упомянутый подход здесь .businessObjectDao имеет значение null в при блоке.Как мне заставить это работать?

@ContextConfiguration(locations = "classpath*:test-appContext.xml")
class BusinessObjectPersistenceTest extends Specification {
    @Autowired
    BusinessObjectDao businessObjectDao

    def "business never set at least once"() {
        when:
            BusinessObjectDao.getBusinessObject()
        then:
            ...
    }
}

1 Ответ

18 голосов
/ 22 марта 2012

вы, скорее всего, забыли включить зависимость Spock Spring.

Вот как это сделать, используя:

Maven

<dependency>
   <groupId>org.spockframework</groupId>
   <artifactId>spock-spring</artifactId>
   <version>0.6-groovy-1.8</version>
</dependency>

Gradle

'org.spockframework:spock-spring:0.6-groovy-1.8'

Простой Groovy

@Grapes(
    @Grab(group='org.spockframework', module='spock-spring', version='0.6-groovy-1.8')
)

*0.6-groovy-1.8 - текущая версия, если вам нужна другая, просто замените

...