Mockitoを使用して、voidメソッドでコールバックオブジェクトを傍受するにはどうすればよいですか?
-
01-10-2019 - |
質問
Mockitoを使用して、Legacy Jaas/LDAPログインモジュールをテストしています。
javax.security.auth.callback.CallbackHandler
インターフェイスは関数を定義します。
void handle(javax.security.auth.callback.Callback[] callbacks)
私は期待しています callbacks
含む NameCallback
, 、これは、テストに合格するために操作する必要があるオブジェクトです。
これを効果的にock笑する方法はありますか? CallbackHandler
?
解決
関数が戻ってきます void
, 、 使用する doanswer()
doAnswer(...).when(mockedObject).handle(any(Callback[].class));
と Answer
インターセプトを実行すると、 doAnswer
, 、例:匿名のクラスとして:
new Answer() {
public Object answer(InvocationOnMock invocation) {
Object[] args = invocation.getArguments();
Mock mock = invocation.getMock();
return null;
}}
この場合 args
配列になります Callback[]
!
所属していません StackOverflow