2

Mockitoを使用して、メソッドに渡されたものをキャプチャできますHttpServletResponse#sendError()か? その方法がわかりません。

4

3 に答える 3

5

これを行うには、Mockitoのverifyメソッドを使用する必要があります。ただし、通常、HttpResponseをあざけるのは楽しい経験ではありません。

mockResponse = mock(HttpSR→);
//…
verify(mockResponse, times(1)).sendError(..);

次に、引数としてsendErrormockitoマッチャーを渡すことができます。これにより、必要な引数をチェックできます。

于 2010-06-14T17:49:31.697 に答える
3

ポスターは、メソッドに渡された引数を取得する方法を知りたがっていたと思います。以下を使用できます。

// given
HttpServletResponse response = mock(HttpServletResponse.class); 
ArgumentCaptor<Integer> intArg = ArgumentCaptor.forClass(Integer.class);
ArgumentCaptor<String> stringArg = ArgumentCaptor.forClass(String.class);
doNothing().when(response).sendError(intArg.capture(), stringArg.capture());

// when (do your test here)
response.sendError(404, "Not found");

// then (do your assertions here, I just print out the values)
System.out.println(intArg.getValue());
System.err.println(stringArg.getValue());
于 2014-10-22T08:55:28.013 に答える
0

Mockitoスパイ(第13章)を見たいと思うかもしれません。モックできないオブジェクトの場合、その内部を調べて、この方法で特定のメソッドをスタブ化できる場合があります。

サンプルコードを投稿していただければ、ご覧いただけます。

于 2010-06-11T16:04:50.003 に答える