1

私はSpring Autoを使用しています。REST DocsはAPIドキュメントを生成するSpring REST Docsの拡張であり、ドキュメントのようにMockMvcを設定しています。WireMockRestDocsとSpringAutoRestDocsを使用してスタブを生成しません。

同様に、私は「http://cloud.spring.io/spring-cloud-contract/1.0.x/#_generating_stubs_using_restdocs

でWireMockスタブを生成したいと同時に私はこの例を以下のよ:私はWireMockスタブARENカスタム設定を作成するときhttps://github.com/spring-cloud-samples/spring-cloud-contract-samples

私の問題はあります私がデフォルトのMockMvc設定を使用するときに作成されましたが、カスタム設定も必要です。

@Before 
public void setUp() { 
     this.mockMvc = MockMvcBuilders 
       .webAppContextSetup(context) 
       .alwaysDo(prepareJackson(objectMapper)) 
       .alwaysDo(document("{class-name}/{method-name}", 
            preprocessRequest(), commonResponsePreprocessor())) 
       .apply(documentationConfiguration(restDocumentation) 
           .uris() 
           .and().snippets() 
           .withDefaults(curlRequest(), httpRequest(), httpResponse(), 
              requestFields(), responseFields(), pathParameters(), 
              requestParameters(), description(), methodAndPath(), 
              section())) 
       .build(); 
} 


@Test 
    public void getTemplate() throws Exception { 
    this.mockMvc.perform(get("/") 
           .contentType(MediaType.APPLICATION_JSON) 
           .accept(MediaType.APPLICATION_JSON)) 
      .andExpect(status().isOk()) 
      .andExpect(jsonPath("result", is("success"))) 
      .andExpect(jsonPath("version", is("0.0.1"))) 
      .andDo(WireMockRestDocs.verify().stub("getFlapTemplate")) 
      .andDo(MockMvcRestDocumentation.document("getFlapTemplate", SpringCloudContractRestDocs.dslContract())); 
} 

カスタム設定でWireMockスタブを生成することはできますか?

答えて

1

私は、スニペットのリストにnew WireMockSnippet()を追加することにより、作業それを得た:春の雲契約Wiremockの自動設定のみ春と春RESTドキュメントで動作していないので、それが明示的に追加する必要があります

public void setUp() { 
     this.mockMvc = MockMvcBuilders 
       .webAppContextSetup(context) 
       .alwaysDo(prepareJackson(objectMapper)) 
       .alwaysDo(document("{class-name}/{method-name}", 
            preprocessRequest(), commonResponsePreprocessor())) 
       .apply(documentationConfiguration(restDocumentation) 
           .uris() 
           .and().snippets() 
           .withDefaults(curlRequest(), httpRequest(), httpResponse(), 
              requestFields(), responseFields(), pathParameters(), 
              requestParameters(), description(), methodAndPath(), 
              section(), new WireMockSnippet())) 
       .build(); 
} 

自動RESTドキュメント。 Spring REST Docsで実行すると、次の行にスニペットが追加されます。https://github.com/spring-cloud/spring-cloud-contract/blob/master/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/restdocs/WireMockRestDocsConfiguration.java#L43

関連する問題