【发布时间】:2021-10-23 17:05:42
【问题描述】:
ProducerRecord<Key,Value> producerRecord = new ProducerRecord<>(topicName, key,value);
ListenableFuture<SendResult<Key,Value>> future = kafkaTemplate.send(producerRecord);
测试用例
@Mock
ProducerRecord<Key,Value> producerRecord;
@Mock
ListenableFuture<SendResult<Key,Value>> future;
@Mock
private KafkaTemplate<Key,Value> producer;
当我模拟发送方法时,它将返回 null 未来对象
when(producer.send(producerRecord)).thenReturn(future);
我找到的解决方案。
我通过任何(ProducerRecord.class)所以我会触发你的方法并返回你未来的对象
@Mock
ListenableFuture<SendResult<Key,Value>> future;
@Mock
private KafkaTemplate<Key,Value> producer;
when(producer.send(any(ProducerRecord.class))).thenReturn(future);
【问题讨论】:
标签: spring spring-boot apache-kafka spring-kafka