Как написать mockito matcher для байта []?
Мне нужен комплекс Matcher
за byte[]
, Код ниже не компилируется, так как argThat
возвращается Byte[]
, Есть ли способ написать посвященный Matcher
для массива примитивных типов?
verify(communicator).post(Matchers.argThat(new ArgumentMatcher<Byte[]>() {
@Override
public boolean matches(Object argument) {
// do complex investigation of byte array
return false;
}
}));
1 ответ
Вы действительно можете использовать new ArgumentMatcher<byte[]> { ... }
Вот:
verify(communicator).post(Matchers.argThat(new ArgumentMatcher<byte[]>() {
@Override
public boolean matches(Object argument) {
// do complex investigation of byte array
return false;
}
}));
Ответы, на которые вы ссылаетесь, говорят, что byte[]
не является действительной заменой T[]
(так как T[]
предполагает Object[]
, который byte[]
нет), но в вашем случае нет T[]
участие и byte[]
будучи подклассом Object
является действительной заменой простого T
,