Mockito関連のメモ

Jul 9, 2018 ( Feb 11, 2022 更新 )

よく忘れて定期的にググっているのでメモ。

verify で任意のマッチ処理を書きたい

verify でパラメータの検証を行いたいが、単にequalsメソッドを使うだけでは だめな場合(deep equalが必要とか)などを想定。

argThat メソッドと、 ArgumentMatcher クラスを使う。

Mockito.verify(eventLogPublisher, Mockito.times(2))
        .publish(argThat(new ArgumentMatcher<EventLog>() {
            @Override
            public boolean matches(Object argument) {
                return ((EventLog) argument).getEventLogType().equals(expectedLog.getEventLogType());
            }
        }));
Return to top