這是本文件的舊版!


WireMock - Record Disconnection Behavior

我有一隻待測程式(SUT)會相依於外部服務(External Service),操作流程如下:

  1. SUT觸發一個async command。
  2. 接著外部服務將會重置而導致SUT無法連線。
  3. SUT會不停的Get去等待外部服務再次連線。


在我導入WireMock要替代外部服務並錄製腳本過程中,發現WireMock只要發生網路連線問題就會回應以下內容:

Network failure trying to make a proxied request from WireMock to https://10.146.125.169/api/v1
Connect to 10.146.125.169:443 [/10.146.125.169] failed: Connection timed out: connect


這導致SUT接到非預期的500 status code,使工作的執行無法順利完成。本篇文章主要分享我的解決方法。