尽管我遵循了 Spring Boot Guide,但在尝试时:
@SpringApplicationConfiguration(classes=MainWebApplication.class, initializers = ConfigFileApplicationContextInitializer.class)
@WebAppConfiguration
@ActiveProfiles("integration-test")
class FirstSpec extends Specification{
@Autowired
WebApplicationContext webApplicationContext
@Shared
MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build()
def "Root returns 200 - OK"(){
when:
response = mockMvc.perform(get("/"))
then:
response.andExpect(status().isOk())
}
}
我刚刚得到消息,WebApplicationContext 只是没有注入(inject)。我有
<dependency>
<groupId>org.spockframework</groupId>
<artifactId>spock-spring</artifactId>
</dependency>
<dependency>
<groupId>org.spockframework</groupId>
<artifactId>spock-maven</artifactId>
<version>0.7-groovy-2.0</version>
</dependency>
在我的 .pom 中,也正如指南所建议的那样,但仍然没有成功。有什么我想念的吗?我需要应用程序上下文,以便注入(inject)所有 bean。有任何想法吗?
最佳答案
您可以尝试将 mockMvc 构造移动到 setup
方法?
def setup() {
mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build()
}
关于spring - 在 Spock 规范中注入(inject)时,WebApplicationContext 不会 Autowiring ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38336783/