我的经理类中有一个简单的更新方法,我需要验证是否触发了事件。
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实例触发的。有没有办法验证这个方法调用?
答案 0 :(得分:3)
The easiest way is to use any(Class<T>)
:
verify(event).fire(any(UserEvent.class))
答案 1 :(得分:0)
如果UserEvent
(并且取决于实施User
)实施equals(...)
,那么它应该有效。