如何在Spring Integration的集成测试中处理errorChannel事件?

时间:2014-01-16 17:24:28

标签: spring spring-integration

我有一个使用Spring Integration的集成测试。

现在我注意到如果消息路由器中出现错误,测试会愉快地通过。我不想要它。所以我知道路由器和其他组件they will be put in errorChannel by default中发生的错误。有没有办法在出现错误的情况下快速进行测试失败,是否有办法在异步情况下使其工作?

1 个答案:

答案 0 :(得分:3)

默认error-channel是pub / sub。如果您使用的是自定义错误频道,请将其设为pub-sub并让您的测试订阅另一个处理程序(channel.subscribe(new MessageHander() {...})。

在处理程序中抛出异常(或执行Junit fail())。

如果该流的条目是<gateway/>,则这将同步和异步两种情况。