【发布时间】:2019-08-13 10:02:25
【问题描述】:
我有一个这样的发送kafka消息的方法:
@Async
public void sendMessage(String topicName, Message message) {
ListenableFuture<SendResult<String, Message >> future = kafkaTemplate.send(topicName, message);
future.addCallback(new ListenableFutureCallback<>() {
@Override
public void onSuccess(SendResult<String, Message > result) {
//do nothing
}
@Override
public void onFailure(Throwable ex) {
log.error("something wrong happened"!);
}
});
}
现在我正在为它编写单元测试。我还想测试两个回调方法onSuccess 和onFailure 方法,所以我的想法是模拟KafkaTemplate,类似于:
KafkaTemplate kafkaTemplate = Mockito.mock(KafkaTemplate.class);
但是现在我被这两种情况的模拟结果卡住了:
when(kafkaTemplate.send(anyString(), any(Message.class))).thenReturn(????);
我应该在thenReturn 方法中为案例成功和案例失败添加什么?请问有人有想法吗?非常感谢!
【问题讨论】:
标签: spring-kafka