[解決済み] 同じメソッドを同じ引数で複数回呼び出した状態でMockitoを使用する
2022-02-19 06:54:12
質問
スタブ化されたメソッドが、その後の呼び出しで異なるオブジェクトを返すようにする方法はありますか?からの不定な応答をテストするために、これを行いたいと思います。
ExecutorCompletionService
つまり、メソッドの戻り値の順序に関係なく、結果が一定であることをテストすることです。
私がテストしたいコードは、次のようなものです。
// Create an completion service so we can group these tasks together
ExecutorCompletionService<T> completionService =
new ExecutorCompletionService<T>(service);
// Add all these tasks to the completion service
for (Callable<T> t : ts)
completionService.submit(request);
// As an when each call finished, add it to the response set.
for (int i = 0; i < calls.size(); i ++) {
try {
T t = completionService.take().get();
// do some stuff that I want to test
} catch (...) { }
}
解決方法は?
を使って行うことができます。
thenAnswer
メソッドを使用します。
when
):
when(someMock.someMethod()).thenAnswer(new Answer() {
private int count = 0;
public Object answer(InvocationOnMock invocation) {
if (count++ == 1)
return 1;
return 2;
}
});
または、同等の、静的な
doAnswer
メソッドを使用します。
doAnswer(new Answer() {
private int count = 0;
public Object answer(InvocationOnMock invocation) {
if (count++ == 1)
return 1;
return 2;
}
}).when(someMock).someMethod();
関連
-
[解決済み】宣言されたパッケージが期待されるパッケージと一致しない ""
-
[解決済み】「java -cp」と「java -jar」の違い?
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] Mockitoでvoidメソッドをモックする方法
-
[解決済み] Mockitoを使用して特定のメソッドが呼び出されていないことを確認するにはどうすればよいですか?
-
[解決済み] Mockitoは複数回呼び出されたメソッドの引数をキャプチャできますか?
-
[解決済み] voidメソッドが例外を投げるかどうかをMockitoがテストする
-
[解決済み] Mockitoで静的メソッドをモックする
-
[解決済み] モッキート メソッドをスパイしようとすると、元のメソッドが呼び出される
-
[解決済み】Mockitoは引数に関係なくメソッドをスタブできますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】このコンパイルユニットは名前付きモジュールに関連しているため、名前付きパッケージeclipseを宣言する必要があります。
-
[解決済み】javaで指定されたファイルが見つからない
-
[解決済み】Javaの".class期待値"
-
[解決済み】Android Studioでタスク :app:compileDebugJavaWithJavac の実行に失敗しました。
-
[解決済み】スレッド「main」での例外 java.lang.StringIndexOutOfBoundsException: 文字列のインデックスが範囲外です。0 [閉店]
-
[解決済み】JLabelのテキストを中央に配置するには?
-
[解決済み】ソースルート外のJavaファイル intelliJ
-
[解決済み】intがnullであるかどうかを確認する方法
-
[解決済み】javaで無効な文字定数
-
[解決済み] Mockitoでvoidメソッドをモックする方法