我正在尝试验证传递正确数量的我的嘲笑资源调用getQuantityString()。

使用getQuantityString()的实际代码

resources.getQuantityString(R.plurals.SUCCESS,5,5);


在测试中:

@Captor private ArgumentCaptor<Integer> firstIntegerCaptor;
verify(resources).getQuantityString(isA(int.class),firstIntegerCaptor.capture(), any());


我在下面出现错误。

org.mockito.exceptions.verification.junit.ArgumentsAreDifferent:
Argument(s) are different! Wanted:
resources.getQuantityString(
    isA(int),
    <Capturing argument>,
    <any>
);

Actual invocation has different arguments:
resources.getQuantityString(
    2131165186,
    5,
    5
);


我检查此函数的原型。

public String getQuantityString(int id, int quantity, Object... formatArgs)


是否由于对象而出错... formatArgs或Integer与int不匹配?

最佳答案

采用

verify(resources).getQuantityString(anyInt(),firstIntegerCaptor.capture(),  Matchers.<Object>anyVararg());

09-11 12:50