我的经理类中有一个简单的更新方法,我需要验证事件是否被触发。

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))

10-08 01:51