尽管我遵循了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())
}
}
我只得到一条消息,即未注入(inject)WebApplicationContext。我有
<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()
}