Although I followed the Spring Boot Guide, when trying:
@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())
}
}
I just get the message that a WebApplicationContext just is not injected. I do have
<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>
In my .pom, also, just as the guide advises, yet still no success. Anything I am missing? I need the app context so all the beans are injected. Any ideas?
Can you try moving the mockMvc construction to the setup
method?
def setup() {
mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build()
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With