java - 如何不调用(spy)静态成员的方法(KafkaTemplate UT)
问题描述
我有课
public **abstract** class BaseClass<K, V> implements SomeService {
private KafkaTemplate<K, V> kafkaTemplate;
@Override
public void init(Map<String, Object> params) {
DefaultKafkaProducerFactory<K, V> defaultKafkaProducerFactory = new DefaultKafkaProducerFactory<>(params);
kafkaTemplate = new KafkaTemplate<>(defaultKafkaProducerFactory);
}
public void send(Message message) {
ProducerRecord<K, V> record = new ProducerRecord<>("topic", "key", someObject);
RecordMetadata recordMetadata = kafkaTemplate.send(record).get().getRecordMetadata();
}
}
我的问题是如何测试这个类,我唯一想要的是检查 kafkaTemplate.send 是否发生了至少 1 次。
我不想将嵌入式 Kafka 与 spring 一起使用(对于这个测试来说太难了)。如何初始化和监视而不是真正调用 KafkaTemplate 的方法?
解决方案
推荐阅读
- arrays - 将数据从工作表存储到数组
- python - 在文本文件的第 4 行写入字符串
- excel - 如何计算一个字符串在不同工作表上出现的次数?
- jupyter-notebook - 无法从 Windows 开始菜单和所需令牌运行 Jupyter 笔记本
- r - R Shiny Dashboard(在空闲状态下每隔几分钟或几秒自动刷新带有更新记录的网页)
- html - 一个锚标签不能在 Firefox 上运行,但在 Google 上运行良好,无法找出原因
- javascript - Highcharts可拖动注释如何按步移动?
- python - 如何从带有字符串条目的列表列表中删除 NaN?
- javascript - 从当前位置向下滚动
- node.js - 删除未使用的模块