当前位置:  开发笔记 > 编程语言 > 正文

如何在mockito中模拟日期?

如何解决《如何在mockito中模拟日期?》经验,为你挑选了1个好方法。

这是我的情景

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)

我尝试插入任何(),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.



1> rkosegi..:

你在那里传递原始值(如已经提到的错误).使用matcher代替:

import static org.mockito.Mockito.*;

...
when(barObj.bar(eq(10), any(Date.class))
   .thenReturn(10)

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有