2014-10-01 59 views
0

我试图运行这行:间谍是如何我可以验证调用“空”参数

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

错误表示您不能混合rawreal值与matchers

因为我不知道该方法sortImages签名,我要去猜测

sortImage(List, String)

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

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

isNull是从org.mockito.Matchers.isNull

+0

在任何情况下。值得一提的是,当使用显式匹配器时,它们必须用于存根的所有参数。 – Brice 2014-10-01 11:01:50

+0

如何限制anyList()为非空列表或大于2的列表? – 2014-10-01 11:41:12

相关问题