が、私は次のメソッドをテストしたい特定のラムダは、モックのメソッドに引数として渡されていることを確認しますラムダを実行し、後で実行するために保存します。Mockitoは
嘲笑MessageHandler
のdispatchMessage
方法は、特定のラムダ式と呼ばれていることをmockitoを検証する方法があります:
@Test
public void testDispatchMessage_Success() throws Exception {
myMessageDispatcher.dispatchMessage(handler, "activityId", "ctxId", 1l,);
verify(handler, times(1)).dispatchMessage(() -> {
dispatcher
.dispatch("activityId", "ctxId", 1l,);
});
}
}
この:
意味では、私はそのようなテストを書くことができますテストでアサーションエラーが発生する: 引数が異なる!募集:
......Tests$$Lambda$28/[email protected]
実際の呼び出しが異なる引数を有する:
mockitoは異なるハッシュコードを有する機能インターフェースの二つの異なる実装を、比較しようとするので、理にかなって..........Lambda$27/[email protected]
。
dispatchMessage()
がvoidを返すラムダで呼び出され、bodyメソッドが dispatcher.dispatch("activityId", "ctxId", 1l,);
であることを確認する別の方法がありますか?
これはまさに私が心に留めていたことです。 ありがとうございます。 – JavaSloth