[解決済み] Mockitoは、引数が特定のプロパティ/フィールドを持っていることを確認できますか?
2023-06-08 07:44:38
質問
このクラスをモックしているとします
Foo
class Foo {
public void doThing(Bar bar) {
// ...
}
}
で、これは
Bar
class Bar {
private int i;
public int getI() { return i; }
public void setI(int i) { this.i = i; }
}
Mockitoのverify機能で
Foo#doThing(Bar)
のインスタンスがモック上で呼び出されたかどうかを確認することができます。
Bar
または任意の
Bar
と
Mockito.any(Bar.class)
,
で呼び出されたことを確認する方法はありますか?
Bar
で呼び出されたが、特定の値で
i
または
Bar#getI()
?
私が知っていることは、可能です。
Foo mockedFoo = mock(Foo.class);
Bar someBar = mock(Bar.class);
...
verify(mockedFoo).doThing(someBar);
verify(mockedFoo).doThing(any(Bar.class);
私が知りたいのは、ある特定の文字列に対して
Bar
が引数として渡されたことを確認する方法があるかということです。
どのように解決するのですか?
で Mockito 2.1.0以降、Java 8では、argThatにラムダをそのまま渡すことができます。 に渡すことができますので、独自の引数マッチャーは必要ありません。OPの例では、以下のようになります。
verify(mockedFoo).doThing(argThat((Bar aBar) -> aBar.getI() == 5));
これは、Mockito 2.1.0時点では
ArgumentMatcher
は関数型インタフェースだからです。
関連
-
Springの設定でxsdファイルのバージョン番号を設定しない方が良い理由
-
Solve モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory エラー
-
ecplise プロンプトが表示されます。"選択したものは起動できません。" "最近の起動はありません。"
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] 例外がスローされたことを確認するためにAssertを使用するにはどうすればよいですか?
-
[解決済み] Mockitoを使用して特定のメソッドが呼び出されていないことを確認するにはどうすればよいですか?
-
[解決済み] Mockitoは複数回呼び出されたメソッドの引数をキャプチャできますか?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
スレッド "main "での例外 java.util.NoSuchElementException in Java 問題解決済み
-
SLF4J: クラス・パスに複数のSLF4Jバインディングが含まれています。
-
Java の switch case 文で必要な定数式の問題の解決法
-
名前 'XXX' を持つ Bean の作成に失敗しました。自動依存関係の注入に失敗しました 解決方法
-
unsigned char* から const jbyte* {aka const signed char*} への変換が無効です。
-
春ブート複数のデータソースの管理(atomikos)同じサーバーホスト上の複数のプロジェクトを開始する複数のJava - jarのエラーソリューション
-
1分でわかる!恋人の写真をIDEAの背景画像に設定する方法【おすすめ集
-
java 365*1000*60*60*24 計算問題
-
アクセス制限の解決方法: ---- in Java
-
WeChat小プログラム Bluetooth通信 Bluetoothモジュールデモ