2017-11-06 8 views
0

私はSpring 4.3.8.RELEASEを使用しています。私の統合テストでは、私が理解することはできませんどのようなSpringのMockMvcフレームワークを使用してリクエストサーバ名を設定するにはどうすればよいですか?

@Autowired 
private WebApplicationContext wac; 

private MockMvc mockMvc; 
... 
this.mockMvc = MockMvcBuilders.webAppContextSetup(wac).build(); 
... 
    mockMvc.perform(get(contextPath + "/path") 
        .contextPath(contextPath) 
        .principal(auth) 
        .param("param1", param1) 
        .param("param2", param2)) 

は、私の要求のサーバー名を設定する方法です...ので、同様に設定し、SpringのMockMvcフレームワークを使用しています。それは私のコントローラは、私はMockMvc呼び出しから

request.getServerName() 

を設定するにはどうすればよい

final HttpServletRequest request 

を移入することが呼び出されたときに、ありますか?

答えて

1

RequestPostProcessorと設定すると、MockHttpServletRequestとモックアップデータを設定できます。

mockMvc.perform(get(contextPath + "/path").contextPath(contextPath).principal(auth).param("param1", param1).param("param2", param2).with(new RequestPostProcessor() { 
     public MockHttpServletRequest postProcessRequest(MockHttpServletRequest request) { 
      request.setServerName("system"); 
      return request; 
     } 
    })); 
関連する問題