InvalidUseOfMatchersException

时间:2016-10-21 09:51:31

标签: java junit mockito matcher hamcrest

我正忙着和Mockito一起写Junit测试。

现在我要验证这样的事情:

verify(event).fire(
   new DefaultMonitoringEventImpl(
      any(Class.class), any(MonitorEventType.class), MonitorEventLevel.ALL, anyString()
   )
  );

我只关心第三个参数。 当我尝试这个时,我得到一个:InvalidUseOfMatchersException。

无论我尝试什么,都不会解决这个问题。 相关主题赢得了满意的解决方案。

-Bgvv1983

1 个答案:

答案 0 :(得分:2)

使用ArgumentCaptor

ArgumentCaptor<DefaultMonitoringEventImpl> captor = ArgumentCaptor.forClass(DefaultMonitoringEventImpl.class);
Mockito.verify(event).fire(captor.capture());
DefaultMonitoringEventImpl actual = captor.getValue();
Assert.assertEquals(MonitorEventLevel.ALL, actual.getMonitorEventLevel());