如何验证使用“null”参数调用间谍

时间:2014-10-01 10:27:40

标签: java unit-testing junit mockito spy

我正试图运行这一行:

verify(imagesSorterSpy, atLeast(2)).sortImages(anyList(), null);

验证此方法是使用null作为第二个参数调用的。

但是我收到了这个错误:

rg.mockito.exceptions.misusing.InvalidUseOfMatchersException: 
Invalid use of argument matchers!
2 matchers expected, 1 recorded:

This exception may occur if matchers are combined with raw values:
    //incorrect:
    someMethod(anyObject(), "raw String");
When using matchers, all arguments have to be provided by matchers.
For example:
    //correct:
    someMethod(anyObject(), eq("String by matcher"));

如何使用null作为第二个arg来验证调用?

1 个答案:

答案 0 :(得分:1)

错误表示您无法将rawreal值与matchers混合。

由于我不知道方法sortImages签名,我会猜测

sortImage(List, String)

如果是这样的话,下面的内容应该有效。

verify(imagesSorterSpy, atLeast(2)).sortImages(anyList(), isNull(String.class));

isNull来自org.mockito.Matchers.isNull