1

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

public void editUser(User user) {
       entityManager.merge(user);
       entityManager.flush();
       updateEvent.fire(new UserEvent(user));
}

通常我会通过 verify 方法来做到这一点,但在这种情况下 event.fire() 是用 UserEvent 的新实例作为其参数调用的。

verify(event).fire(new UserEvent(user));

这将失败,因为在管理器中使用不同的 UserEvent 实例触发了事件。有没有办法验证这个方法调用?

4

2 回答 2

3

最简单的方法是使用any(Class<T>)

verify(event).fire(any(UserEvent.class))
于 2012-06-14T18:38:02.720 回答
0

如果UserEvent(并取决于实施User)实施equals(...),那么它应该可以工作。

于 2012-06-15T12:27:23.793 回答