[解決済み] Mockitoでvarargsを正しくマッチングさせる方法
2022-04-22 19:35:46
質問
Mockitoを使って、パラメータにvarargを指定したメソッドをモック化しようとしています。
interface A {
B b(int x, int y, C... c);
}
A a = mock(A.class);
B b = mock(B.class);
when(a.b(anyInt(), anyInt(), any(C[].class))).thenReturn(b);
assertEquals(b, a.b(1, 2));
しかし、これはうまくいきません。
when(a.b(anyInt(), anyInt())).thenReturn(b);
assertEquals(b, a.b(1, 2));
メソッドをスタブする際に、varargs 引数を完全に省略したにもかかわらず、これは動作します。
何か手がかりはありますか?
解決方法は?
Mockito 1.8.1導入 anyVararg() マッチャー :
when(a.b(anyInt(), anyInt(), Matchers.<String>anyVararg())).thenReturn(b);
また、これについては履歴を参照してください。 https://code.google.com/archive/p/mockito/issues/62
編集 非推奨になった後の新しい構文。
when(a.b(anyInt(), anyInt(), ArgumentMatchers.<String>any())).thenReturn(b);
関連
-
Java のエラーです。未解決のコンパイル問題 解決方法
-
IllegalArgumentException この例外を解決する方法
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Mockitoでvoidメソッドをモックする方法
-
[解決済み] Mockitoを使用して特定のメソッドが呼び出されていないことを確認するにはどうすればよいですか?
-
[解決済み] Mockitoは複数回呼び出されたメソッドの引数をキャプチャできますか?
-
[解決済み] Mockitoを使用して、あるメソッドをモックし、他のメソッドをモックしない
-
[解決済み] voidメソッドが例外を投げるかどうかを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 実装 サイバーパンク風ボタン
おすすめ
-
Java のエラーです。未解決のコンパイル問題 解決方法
-
アクセス制限です。タイプ 'Application' は API ではありません。
-
Dateが型に解決できない問題を解決する
-
JavaMailのメール送信が失敗するケースとその説明の分析
-
JQuery DataTable 详解
-
リソースの読み込みに失敗しました。サーバーはステータス500(内部サーバーエラー)で応答しました。
-
spring-boot 401 このリソースにアクセスするには完全な認証が必要です エラー解決
-
java -serverコマンドで「Error: no `server' JVM at ... jvm.dll」を解決する方法です。
-
ブラウザでの大容量ファイルスライスアップロード(Javaサーバサイド実装)
-
Maven Pluginの実行がライフサイクル設定の対象外であるエラーの解決