anyVararg()
マッチャーを使う。よく忘れる。
以下の可変長引数を取るメソッドがあった場合、
Account getAccount(Long id, AccountType...types);
以下のようにすると任意の可変長引数にマッチできる。
AccountService service = mock(AccountService.class); when(service.getAccount(any(Long.class), Mockito.<AccountType>anyVararg())) .thenReturn(mock(Account.class));
verify の場合も同様。
verify(service).getAccount(any(Long.class), Mockito.<AccountType>anyVararg()));
ちなみに Mockito
は Matchers
のサブクラスなので、
public class Mockito extends Matchers { }
以下とやっても良い。
verify(service).getAccount(any(Long.class), Matchers.<AccountType>anyVararg()));