4

呼び出しを別のサービスにリダイレクトするプロキシをテストしたいのですが、宛先サービスをモックしようとしています。そのために、wiremock を使用したいのですが、それを使用するクラスは、テストを含まないスタンドアロン クラスになります。

その目的で WireMockServer を使用できることはわかっていますが、そのサーバーにハンドラーをプログラムでフックする方法の例が見つかりません。

私のクラスの例は次のとおりです。

public class MockedService {

    WireMockServer wireMockServer;

    public MockedService(int port) {
        wireMockServer = new WireMockServer(port);

    get(urlMatching("/process/?param1=.*&param2=.*"))
        .willReturn(aResponse()
        .withBody(GenericMediaResponse.RESPONSE_OK.toJSONString()));
    }

    public int getPort() {
        return port;
    }   
}

しかし、やはり get リクエストをサーバーにフックする方法がわかりません。ありがとう。

4

1 に答える 1

4

私は同じ問題に遭遇しました。ソースコードを掘り下げた後、次のことを行う必要があります: スタブを作成する前に、次のステートメントを実行する必要があります。

WireMock.configureFor("localhost",port);

これにより、デフォルトのインスタンスが特定のホストとポートにバインドされるように設定されます。

お役に立てれば。

于 2013-12-24T15:38:47.993 に答える