0

コードをテストするために Web サービス呼び出しをモックしたいと考えています。以下は、私がモックしたいコードスニペットです。callWebService() メソッドをテストしたいと思います。callRestClientService(criteria) が呼び出されたときに、独自の HttpResponse を作成する方法が必要です。JMock と EasyMock を使用してみましたが、目的の結果が得られませんでした。最初の例では、独自の HttpResponse をモックまたは作成することはできないと思います。

ゲートウェイ呼び出しをモックできなくても、呼び出しを行うことができるローカル サーバーは既にありますが、さまざまなシナリオをテストするには、サーバーから返された応答をモックする必要があります。

誰でもこれで私を助けることができます....ありがとう!!

public class RestClientServiceResponse
{
    public HttpResponse callRestClientService(final RestClientServiceCriteria criteria) throws IOException
    {
        final HttpUriRequest request = buildHttpUriRequest(criteria);
        return executeRestClientServiceCall(request);
    }

    public HttpResponse executeRestClientServiceCall(final HttpUriRequest request) throws IOException
    {
        final HttpClient client = new DefaultHttpClient();
        final HttpResponse httpResponse = client.execute(request);

        return httpResponse;
    }
}


public class CallWebService
{
    public void callWebService()
    {
        HttpResponse httpResponse = null;
        try
        {
            httpResponse = restClient.callRestClientService(criteria);
        }
        catch (final Exception e)
        {
        System.out.println(e);
        }
    }
}
4

2 に答える 2

0

私があなたを正しく理解していれば、組み込みのJettySimple HTTPサーバーのようなものを使用してください。一般的にドキュメントが優れているため、Simple を使用する傾向があります。テストに必要なものを返すように非常に簡単に設定できます。必要な複雑さに応じて、サーバー内にモックを埋め込むこともできます。これにより、モックで通常のモック操作を実行できます。これは、HTTP 要求の検証と HTTP 応答の準備に変換されます。

于 2011-10-01T00:21:10.487 に答える
0

SoapUI は、Web サービスをテストするために作成されたオープン ソース ツールであり、サービスのモックを非常によくサポートします。その方法については、このチュートリアルを参照してください。

于 2011-10-01T00:36:01.703 に答える