まず第一に、使いやすく統合しやすい驚くべきモック ソリューションを提供してくれた WireMock チームに感謝します。
特定の問題がありました。ローカル マシンの Junit テストで以下のように WireMock を実行しています。WireMock が起動すると、以下のように 8089 ポートで実行され、以下のリンクから URL を参照できます。これは完璧です。
http://localhost:8099/xx/xx/invoice/201628JP00006097
@Rule
public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().httpsPort(8089));
wireMockRule.stubFor(get(urlEqualTo("/xx/larxxs/invoice/201627JP00006087"))
.willReturn(aResponse().withHeader("Content-Type", "text/xml").withBodyFile("K000006087.xml")));
このモックをローカル マシンでホストした後、リモートの UNIX サーバーでバッチ ジョブを実行します。バッチ ジョブは、https リンクを介してモックからこのデータをフェッチしようとしますが、以前は正常に機能していました。現在、リモート UNIX サーバーにいくつかの変更が加えられています。または、WireMock からデータを取得しようとしているときにリモート UNIX マシンがエラーをスローしているため、一晩で何が変更されたのかわかりません。私のマシンから ping を実行して UNIX マシンを削除したり、その逆を行ったりしていますが、localhost のブラウザ経由でデータを取得できます。
2016-08-03 17:31:50.101 ERROR 19483 --- [main] .w.s.l.s.b.t.OldLarsRestInvoiceGenerator : Exception while getting invoice data from Cybill rest serviceorg.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://10.10.34.238:8089/xx/xx/invoice/201627JP00006087": Connection timed out; nested exception is java.net.ConnectException: Connection timed out
リモート UNIX マシン上の Junit からプログラムで WireMock を実行できるかどうか、またその方法についてお尋ねしたいと思います。@Rule のように、ポート 8089 で実行するように言及しました。ここでもホストについて言及できますか。
Jarファイルをリモートサーバーにインストールして実行できることがわかりましたが、プログラムでそれを実行し、代わりにリモートサーバーでwireMockを開始する方法はありますか.
@Rule public WireMockRule wireMockRule = new WireMockRule(wireMockConfig() .httpsPort(8089) .host(myUNIXSERVER));
手伝ってくれてありがとう!!