복붙노트

[SPRING] 봄 콩을 스포크 테스트에 주입하는 법

SPRING

봄 콩을 스포크 테스트에 주입하는 법

나는 새로운 spock. JDK 1.7, Spring 3.1, Groovy 1.8.6, Spock 0.6, Maven 3.0.4를 사용하는 독립형 Java 응용 프로그램에 대한 spock unit 테스트를 작성하려고합니다. 기본적인 hello world spock 테스트가 작동 중입니다. 그러나 봄 콩을 시험하려고 할 때, 나는 그들이 주사를 맞지 않는 것을 알게됩니다. 여기에 언급 된 접근 방식을 사용합니다. 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. ==============================

    1.당신은 Spock Spring 의존성을 포함하는 것을 잊었을 것입니다.

    당신은 Spock Spring 의존성을 포함하는 것을 잊었을 것입니다.

    사용 방법은 다음과 같습니다.

    <dependency>
       <groupId>org.spockframework</groupId>
       <artifactId>spock-spring</artifactId>
       <version>0.6-groovy-1.8</version>
    </dependency>
    
    'org.spockframework:spock-spring:0.6-groovy-1.8'
    
    @Grapes(
        @Grab(group='org.spockframework', module='spock-spring', version='0.6-groovy-1.8')
    )
    

    * 0.6-groovy-1.8은 현재 버전입니다. 다른 버전이 필요하면 그냥 대용하십시오.

  2. from https://stackoverflow.com/questions/9811345/how-to-inject-spring-beans-into-spock-test by cc-by-sa and MIT license