/ / springSecurityFilterChain nie może mieć wartości zerowej - sprężyna, zabezpieczenie sprężyny, rozruch rozruchowy

springSecurityFilterChain nie może być wartością zerową - sprężyna, zabezpieczenie sprężyny, sprężyna rozruchowa

Pracuję z Spring Boot 1.4.0.M2 i napisałem następujący przypadek testowy, aby zapewnić prawidłowe funkcjonowanie kontrolera z zabezpieczeniem sprężynowym.

@RunWith(SpringRunner.class)
@WebMvcTest(HelloController.class)
public class HelloControllerTest {

@Autowired
private WebApplicationContext wac;

private MockMvc mockMvc;

@Before
public void setUp() {
mockMvc = MockMvcBuilders
.webAppContextSetup(wac)
.alwaysDo(print())
.apply(springSecurity())
.build();
}

@Test
public void getHelloShouldReturnWithCacheControlSet() throws Exception {
this.mockMvc.perform(get("/hello")
.accept(MediaType.TEXT_PLAIN))
.andExpect(status().isOk())
.andExpect(content().string("Hello World!"))
.andExpect(header().stringValues("Cache-Control", "max-age=5"));
}
}

Po uruchomieniu testu generowany jest następujący wyjątek:

java.lang.IllegalStateException: springSecurityFilterChain cannot be null. Ensure a Bean with the name springSecurityFilterChain implementing Filter is present or inject the Filter to be used.

Cały inny kod można znaleźć tutaj: https://github.com/renewinkler84/http-cache-demo

Dlaczego zgłaszany jest ten wyjątek? co jeszcze muszę skonfigurować?

Odpowiedzi:

6 dla odpowiedzi № 1

Myślę, że tęsknisz @SpringBootTest

Zmień to

@WebMvcTest(HelloController.class)

z tym

@SpringBootTest