@Test
public void getRelationInteractionDataTest() throws Exception {
InteractionData iData = new InteractionData();
when(mockJdbcTemplate.getDataSource()).thenReturn(dataSource);
relationshipCheckDaoImpl.getRelationInteractionData(Mockito.anyString(), Mockito.anyString());
}
Exception:failed with = org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
Invalid use of argument matchers!
0 matchers expected, 3 recorded:
答案 0 :(得分:1)
relationshipCheckDaoImpl.getRelationInteractionData(Mockito.anyString(), Mockito.anyString());
虽然使用'any'参数测试方法听起来很诱人,但是,这不是匹配器的用途。改为使用实际值:
relationshipCheckDaoImpl.getRelationInteractionData("a", "b");
原因是:您可以在准备模拟方法时使用匹配器...
Mockito.when( a.doB( Mockito.anyString() ) ).thenReturn("XYZ";
......或在确认某事被调用时......
Mockito.verify( a ).doB( Mockito.anyString() );
...但是在调用方法本身时却没有,因为匹配器应该匹配什么?这只会混淆Mockito的内部系统。