Mockitoを使用すると、同じトランザクションで2回呼び出され、毎回異なる値を返すメソッドをテストする必要があります。どのようにしてMockitoを使用して、同じ呼び出しに対して異なる応答を返す同じメソッドへの2つの異なる呼び出しをテストできますか?
私は2回のテストを行います.1回につき1回です。
最初である:
verify(mockAppender, times(2)).doAppend(logEventArgumentCaptor.capture());
assertThat(logEventArgumentCaptor.getValue().getMessage(), containsString("Error response: " + RESPONSE));
2読み取りながら:
verify(mockAppender, times(2)).doAppend(logEventArgumentCaptor.capture());
assertThat(logEventArgumentCaptor.getValue().getMessage(), containsString("Request body: " + BODY));
を試験されるコードの読み取り:
if (!statusCode.is2xxSuccessful()) {
LOG.error("Error response: "+response);
LOG.error("Request body: "+bodyString);
}
それが第2の応答を見つけるため、第2テストに合格しかし、第1の応答は第2の応答をも見つけるので失敗する。メソッドからの最初の応答のみを調べるための最初のテストを取得するにはどうすればよいですか?あるいは、私はすぐに両方の応答をチェックすることができるassertThatのフォームがありますか?
素晴らしい答え。それはいつもラインが緑色になるのを見るのはスリルです。ありがとう。 – Patrick
@Patrick喜んで助けてください!この質問に満足していると感じたら、チェックボックスをクリックして[回答を受け入れる](http://stackoverflow.com/help/accepted-answer)をクリックします。 StackOverflowへようこそ。あなたのプロジェクトには幸運です! –