W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Spring Cloud Contract提供了一個(gè)便利類(lèi),可以將JSON WireMock存根加載到Spring MockRestServiceServer
中。以下代碼顯示了一個(gè)示例:
@RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = WebEnvironment.NONE) public class WiremockForDocsMockServerApplicationTests { @Autowired private RestTemplate restTemplate; @Autowired private Service service; @Test public void contextLoads() throws Exception { // will read stubs classpath MockRestServiceServer server = WireMockRestServiceServer.with(this.restTemplate) .baseUrl("https://example.org").stubs("classpath:/stubs/resource.json") .build(); // We're asserting if WireMock responded properly assertThat(this.service.go()).isEqualTo("Hello World"); server.verify(); } }
baseUrl
值被附加到所有模擬調(diào)用中,并且stubs()
方法采用存根路徑資源模式作為參數(shù)。在前面的示例中,在/stubs/resource.json
定義的存根被加載到模擬服務(wù)器中。如果要求RestTemplate
訪問(wèn)https://example.org/
,它將獲得在該URL聲明的響應(yīng)。可以指定多個(gè)存根模式,每個(gè)存根模式都可以是目錄(用于所有“ .json”的遞歸列表),固定文件名(如上例所示)或Ant樣式的模式。JSON格式是標(biāo)準(zhǔn)的WireMock格式,您可以在WireMock網(wǎng)站上閱讀該
格式。
當(dāng)前,Spring Cloud Contract驗(yàn)證程序支持Tomcat,Jetty和Undertow作為Spring Boot嵌入式服務(wù)器,而Wiremock本身對(duì)特定版本的Jetty(當(dāng)前為9.2)具有“本機(jī)”支持。要使用本機(jī)Jetty,您需要添加本機(jī)Wiremock依賴(lài)項(xiàng)并排除Spring Boot容器(如果有)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: