如何为byte []编写mockito匹配器?

时间:2014-11-18 11:29:08

标签: java mockito primitive-types 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 个答案:

答案 0 :(得分: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[],而ObjectT的子类,是简单{{1}}的有效替代。