我的经理类中有一个简单的更新方法,我需要验证事件是否被触发。
public void editUser(User user) {
entityManager.merge(user);
entityManager.flush();
updateEvent.fire(new UserEvent(user));
}
通常,我会通过verify方法执行此操作,但在这种情况下,将使用UserEvent的新实例作为参数调用event.fire()。
verify(event).fire(new UserEvent(user));
这将失败,因为事件是由管理器内部的UserEvent的不同实例引发的。有没有办法验证此方法调用?
最佳答案
The easiest way is to use any(Class<T>)
:
verify(event).fire(any(UserEvent.class))