在为Java kafka使用者构建Junit测试用例时,我需要一些帮助。
我的原始源代码具有以下方法,并且需要为此创建一个单元测试用例。
@KafkaListener(topics = "${kafka-receiver-topic}")
public void receiveTopic(ConsumerRecord<?, ?> consumerRecord) throws Exception {
JSONObject kafkaObject = new JSONObject(consumerRecord.value().toString());
}
答案 0 :(得分:2)
ConsumerRecord
具有公共构造函数,因此您可以自己创建一个实例。
例如,稍微修改代码:
主要:
public JSONObject receiveTopic(ConsumerRecord<?, ?> consumerRecord) throws Exception {
JSONObject kafkaObject = new JSONObject(consumerRecord.value().toString());
return kafkaObject;
}
测试:
@Test
public void testReceiveTopic() {
ConsumerRecord<String, String> record = new ConsumerRecord<>("topic", 0, 123L, "key", "value");
JSONObject expected = <what you expected>
assertEquals(expected, receiveTopic(record));
}