Java 无效使用MatcherException

Java 无效使用MatcherException,java,junit,mockito,matcher,hamcrest,Java,Junit,Mockito,Matcher,Hamcrest,我正忙于用Mockito编写Junit测试 现在我想验证如下内容: verify(event).fire( new DefaultMonitoringEventImpl( any(Class.class), any(MonitorEventType.class), MonitorEventLevel.ALL, anyString() ) ); 我只关心第三个参数。 当我尝试此操作时,我得到一个:InvalidUseofMatchers异常 无论我尝试什么,它都无法解

我正忙于用Mockito编写Junit测试

现在我想验证如下内容:

verify(event).fire(
   new DefaultMonitoringEventImpl(
      any(Class.class), any(MonitorEventType.class), MonitorEventLevel.ALL, anyString()
   )
  );
我只关心第三个参数。 当我尝试此操作时,我得到一个:InvalidUseofMatchers异常

无论我尝试什么,它都无法解决这个问题。 相关话题不会给出满意的解决方案

-Bgvv1983

使用:

ArgumentCaptor captor=ArgumentCaptor.forClass(DefaultMonitoringEventImpl.class);
Mockito.verify(event.fire(captor.capture());
DefaultMonitoringEventImpl实际值=captor.getValue();
Assert.assertEquals(monitorepentlevel.ALL,actual.getmonitorepentlevel());
使用:

ArgumentCaptor captor=ArgumentCaptor.forClass(DefaultMonitoringEventImpl.class);
Mockito.verify(event.fire(captor.capture());
DefaultMonitoringEventImpl实际值=captor.getValue();
Assert.assertEquals(monitorepentlevel.ALL,actual.getmonitorepentlevel());

谢谢,笨蛋,我还没想到呢。不过对你的解决方案有一点意见。Mockito.verify(事件)、fire(捕获者);必须是:Mockito.verify(event.fire(captor.capture());谢谢,笨蛋,我还没想到呢。不过对你的解决方案有一点意见。Mockito.verify(事件)、fire(捕获者);必须是:Mockito.verify(event.fire(captor.capture());
ArgumentCaptor<DefaultMonitoringEventImpl> captor = ArgumentCaptor.forClass(DefaultMonitoringEventImpl.class);
Mockito.verify(event).fire(captor.capture());
DefaultMonitoringEventImpl actual = captor.getValue();
Assert.assertEquals(MonitorEventLevel.ALL, actual.getMonitorEventLevel());