如何在模拟中模拟约会



这是我的场景

public int foo(int a) {
   return new Bar().bar(a, new Date());
}
My test:
Bar barObj = mock(Bar.class)
when(barObj.bar(10, ??)).thenReturn(10)

我尝试插入any(),anyObject()等。知道插入什么吗?

但是我不断收到异常:

.mockito.exceptions.misusing.InvalidUseOfMatchersException: 
Invalid use of argument matchers!
3 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"));
For more info see javadoc for Matchers class.

我们不使用Powermocks。

你在那里传递原始值(正如已经提到的错误)。改用匹配器,如下所示:

import static org.mockito.Mockito.*;
...
when(barObj.bar(eq(10), any(Date.class))
   .thenReturn(10)

正如错误消息所述:

使用匹配器

时,所有参数都必须由匹配器提供。

Bar bar = mock(Bar.class)
when(bar.bar(eq(10), anyObject())).thenReturn(10)

相关内容

  • 没有找到相关文章

最新更新