Mockito のモック/スタブ/マッチャーをデバッグするにはどうすればいいですか? 質問する

Mockito のモック/スタブ/マッチャーをデバッグするにはどうすればいいですか? 質問する

mockito を使用した通常のテスト開発中に、私 (および他の多くの人) は、when(service.doSomething(paramMatcher, paramMatcher2, ...).thenReturn(...) が私をイライラさせるような状況に何度も遭遇します。リスト、vargar、null 値などの間で可能な組み合わせが非常に多いため、数式を正しくしようとするだけで何時間も費やし、それでも諦めて thenAnswer(手動マッチング) で any() を使用することがよくあります。

Mockito のパラメータ マッチング メカニズムをデバッグするにはどうすればよいでしょうか。さらに難しくするために、Mockito ランナーを使用してテストを実行します。つまり、アノテーションを使用して、モックされたサービスを初期化し、自動的に挿入します。

ベストアンサー1

Mocked オブジェクトで詳細なログ記録を有効にすることができます。

    import org.mockito.Mockito.mock;
    import org.mockito.Mockito.withSettings;

    List mockWithLogger = mock(List.class, withSettings().verboseLogging());

これにより、相互作用を理解するための詳細な情報が得られるはずです。

https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/MockSettings.html#verboseLogging()

おすすめ記事