运行 Geb 集成测试时,WebApplicationContext 始终为 null

WebApplicationContext is always null when running Geb integration test

为什么我的上下文没有被注入?应用程序 运行 没问题。使用 Spring 的 junit 运行ner 和 MockMvc 运行 的集成测试很好。我需要添加一些东西来集成 Spring 和 Spock 吗?

@ContextConfiguration(classes = MyConfiguration)
@WebAppConfiguration
class BetaRequestTest extends GebReportingSpec{

    @Autowired
    WebApplicationContext webApplicationContext; //always null

    def setup() {
        browser.driver = MockMvcHtmlUnitDriverBuilder
                .webAppContextSetup(webApplicationContext).build()
    }

    def destroy(){
        browser.driver?.close()
    }

    @Test
    def void "should render the page"(){
        setup:
            to BetaRequestPage
        expect:
            $('h1').value() == "Welcome to Foo"
    }

}

想通了。

我需要添加以下测试依赖项:

testCompile "org.spockframework:spock-spring:1.0-groovy-2.4"