我正在研究Spring 4.2中的spring域事件功能,它看起来非常棒。 但是,测试时有点麻烦。
鉴于以下业务逻辑:
public DomainEvent<Order> CreateOrder(Order order) throws OrderRejectedException {
//INSERT BUSINESS LOGIC HERE
this.publisher.publishEvent(new OrderAccepted(order));
}
发布者已插入构造函数中,因此我可以非常简单地模拟它,
在我的junit类中,我想断言applicationEvent是从我的服务发布的。 这不应该在没有模拟的情况下完成。 有没有人知道是否存在一个“测试发布者”来保存所有发布的事件,所以我可以在测试期间将其注入我的服务并在发布者的这个测试实例上断言? 我可以写我自己的,但这听起来像一个普遍的问题所以它应该在MHO中存在一个默认的测试instane