我有一个班级Foo
和一个子班级Bar
。我想验证我的服务(方法sendMessage(Foo foo)
)是否已发送类型为Foo
的消息,然后发送Bar
类型的消息。
我的第一个天真的尝试是:
verify(communicatorMock, times(1)).sendMessage(any(Foo));
verify(communicatorMock, times(1)).sendMessage(any(Bar));
但这显然会在Mockito中返回TooManyActualInvocations
例外。由于Bar
类型的任何对象也是Foo
类型的对象,这确实有效:
verify(communicatorMock, times(2)).sendMessage(any(Foo));
我还没找到可以区分父母和子女课程的ResultMatcher
,还是我错过了?还有另一种检查方法,而不必实际捕获参数吗?