2016-04-24 23 views
3

私はSpring Boot 1.4.0.M2で作業しています。私はSpringセキュリティを備えたコントローラの適切な機能を保証するために、次のテストケースを作成しました。springSecurityFilterChainをnullにすることはできません。

@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")); 
    } 
} 

私がテストを実行すると、次の例外がスローされます。

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. 

他のすべてのコードはここで見つけることができます:https://github.com/renewinkler84/http-cache-demo

は、なぜ、この例外がスローされますか?他に何を設定する必要がありますか?

答えて

6

は、私はあなたが@SpringBootTest

の変化を見逃すことだと思う。この

@SpringBootTest 
この

@WebMvcTest(HelloController.class) 

関連する問題