mockito 无法匹配重载方法
mockito can't match overloaded method
我正在尝试模拟一个 SimpleDateFormat
对象,但 Mockito 说我的参数数量错误。代码:
SimpleDateFormat spyDateFormat = spy(new SimpleDateFormat(DateFormatManager.MAIN_ACTIVITY_TITLE_FORMAT));
// exception points to below line
when(spyDateFormat.format(any(Date.class))).thenReturn("foo format");
异常:
org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
Invalid use of argument matchers!
3 matchers expected, 1 recorded:
该方法存在于 DateFormat 中,其父级:
http://docs.oracle.com/javase/7/docs/api/java/text/DateFormat.html#format(java.util.Date)
使用 spy
尝试切换到 DateFormat。没有运气。
format(Date)
方法是 final
,所以 Mockito 无法监视它。
From the Mockito FAQ:
Mockito 有什么限制
无法模拟 final 方法 - 它们的真实行为无一例外地执行。 Mockito 无法警告您模拟 final 方法,因此请保持警惕。
我正在尝试模拟一个 SimpleDateFormat
对象,但 Mockito 说我的参数数量错误。代码:
SimpleDateFormat spyDateFormat = spy(new SimpleDateFormat(DateFormatManager.MAIN_ACTIVITY_TITLE_FORMAT));
// exception points to below line
when(spyDateFormat.format(any(Date.class))).thenReturn("foo format");
异常:
org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
Invalid use of argument matchers!
3 matchers expected, 1 recorded:
该方法存在于 DateFormat 中,其父级:
http://docs.oracle.com/javase/7/docs/api/java/text/DateFormat.html#format(java.util.Date)
使用 spy
尝试切换到 DateFormat。没有运气。
format(Date)
方法是 final
,所以 Mockito 无法监视它。
From the Mockito FAQ:
Mockito 有什么限制
无法模拟 final 方法 - 它们的真实行为无一例外地执行。 Mockito 无法警告您模拟 final 方法,因此请保持警惕。