亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何模擬一個真正運行的應用程序?

如何模擬一個真正運行的應用程序?

鳳凰求蠱 2023-04-26 13:45:06
如果 MS2 正在運行,我的一個微服務 [ MS1] 在啟動時檢查另一個微服務 [ ]。MS2如果 MS2 正在運行,MS1 將啟動,否則無法啟動。但目前我正在MS2我的本地機器上運行,這需要大量的RAMans 減慢我的機器。是否有任何機制使得當 MS1 啟動并查找 MS2 時,似乎 MS2 正在運行但實際上沒有運行真正的 MS2?更新 :假設 MS2 正在運行localhost:1234,現在 MS1 將使用 REST 連接到它。
查看完整描述

2 回答

?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

你可以看看WireMock哪個是 HTTP API 的模擬器,所以它適合本地開發。使用它時,您將能夠模擬微服務,就好像它作為獨立的微服務在給定的主機和端口上運行一樣。

您可以將它作為獨立進程運行,也可以作為 spring 應用程序的一部分運行。

選項 1 - 配置獨立的 wiremock 服務器:

  1. 下載Wiremock 獨立 jar

  2. 使用端口在本地主機上運行獨立服務器1234

java?-jar?wiremock-standalone-2.24.0.jar?--port?1234
  1. 配置 MS1 微服務以用作localhost:1234MS2 主機。

  2. 用一些響應模擬你的 MS2(用 wiremock 模擬)端點:

curl?-X?POST?--data?'{?"request":?{?"url":?"/yourendpoint",?"method":?"GET"?},?"response":?{?"status":?200,?"body":?"Response"?}}'?http://localhost:1234/__admin/mappings/new

在這里我們做了一個模擬,當您使用 HTTP GET 訪問模擬服務器時,/yourendpoint您將收到文本Response作為響應。

  1. 現在,當您使用 GET 時,localhost:1234/yourendpoint您會得到模擬的響應:

curl?http://localhost:1234/yourendpointResponse

完整的例子可以在Wiremock Standalone docs


選項 2 - 在 Spring 應用程序中配置 WireMock 服務器:

  1. 添加WireMock dependency到您的項目(注意不僅要將其添加到測試范圍)

  2. 創建一個用于設置服務器的 Spring bean:

@Component

public class CustomMicroserviceMock {


? ? private WireMockServer wireMockServer;


? ? public CustomMicroserviceMock() {

? ? ? ? wireMockServer = new WireMockServer(options().port(1234));

? ? ? ? wireMockServer.stubFor(get(urlEqualTo("/yourendpoint"))

? ? ? ? ? ? ? ? .willReturn(aResponse()

? ? ? ? ? ? ? ? ? ? ? ? .withHeader("Content-Type", "text/plain")

? ? ? ? ? ? ? ? ? ? ? ? .withBody("Response")));

? ? ? ? wireMockServer.start();

? ? }



? ? @PreDestroy

? ? void preDestroy() {

? ? ? ? wireMockServer.stop();

? ? }


}

當我們點擊時,localhost:1234/yourendpoint我們得到回應:Response

這只是一個 POC,但它在兩種情況下都有效。


查看完整回答
反對 回復 2023-04-26
?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

我建議在您的本地機器上使用 WireMock 作為獨立服務,或者如果您熟悉 docker,您可以檢查 wiremock docker 圖像:

我將它用于我的開發和測試,它確實是一個強大的存根解決方案:)

祝你好運


查看完整回答
反對 回復 2023-04-26
  • 2 回答
  • 0 關注
  • 159 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號