【发布时间】:2022-10-14 22:00:45
【问题描述】:
我正在尝试创建简单的测试来检查错误通道是否从流通道获取消息
@Bean(START_PROCESSING_CHANNEL)
MessageChannel processingStart() {
return new DirectChannel();
}
@Bean(CUSTOM_ERROR_CHANNEL)
MessageChannel channelError() {
return new DirectChannel();
}
代码工作正常,但在创建测试时存在一些问题 - 我将消息发送到 processingStart 通道,拦截器工作正常,但我从 buildErrorStartMessage() 获得带有标头的有效负载,或者当我添加 * 时测试失败
when(processor.registerNewEntity(any(), any())).thenReturn(buildEntityErrorMessage());
when(processor.transformEntity(any(), any())).thenThrow(new IllegalArgumentException()); (*)
startChannel.addInterceptor(new WireTap(errorChannel));
startChannel.send(buildErrorStartMessage());
verify(errorHandler,times(1)).processException(messageArgumentCaptor.capture());
我认为那是正确的,但我怎样才能发现错误?
【问题讨论】: