Spring boot 向kafka使用者模拟对象时出现不必要的存根异常
我为kafka receiver编写了一个void方法,并尝试编写JUNIT,但它抛出了不必要的存根异常Spring boot 向kafka使用者模拟对象时出现不必要的存根异常,spring-boot,kafka-consumer-api,junit5,Spring Boot,Kafka Consumer Api,Junit5,我为kafka receiver编写了一个void方法,并尝试编写JUNIT,但它抛出了不必要的存根异常 @Component public class KafkaReceiver { @KafkaListener(topics = "${kafka-receiver-topic}") public void receiveTopic(ConsumerRecord<?, ?> consumerRecord) throws Exception {
@Component
public class KafkaReceiver {
@KafkaListener(topics = "${kafka-receiver-topic}")
public void receiveTopic(ConsumerRecord<?, ?> consumerRecord) throws
Exception {
JSONObject kafka=new JSONObject(consumerRecord.value().toString());
}
}
@ExtendWith(MockitoExtension.class)
public class KafkaReceiverTest {
@Test
public void receiveTopicTest() throws Exception {
KafkaReceiver producer = Mockito.mock(KafkaReceiver.class);
JSONObject expected = new JSONObject();
expected.put("value","value");
ConsumerRecord<?, ?> record = new ConsumerRecord<>("topic", 0, 123L,
"key",expected);
JSONObject exp = new JSONObject(record.value().toString());
doNothing().when(producer).receiveTopic(record);
assertEquals(expected.get("value"), exp.get("value"));
}
}
@组件
公共级卡夫卡接收器{
@KafkaListener(topics=“${kafka receiver topic}”)
public void receiveTopic(ConsumerRecord ConsumerRecord)抛出
例外情况{
JSONObject kafka=新的JSONObject(consumerRecord.value().toString());
}
}
我在下面返回的JUNIT测试用例正在抛出存根异常
@Component
public class KafkaReceiver {
@KafkaListener(topics = "${kafka-receiver-topic}")
public void receiveTopic(ConsumerRecord<?, ?> consumerRecord) throws
Exception {
JSONObject kafka=new JSONObject(consumerRecord.value().toString());
}
}
@ExtendWith(MockitoExtension.class)
public class KafkaReceiverTest {
@Test
public void receiveTopicTest() throws Exception {
KafkaReceiver producer = Mockito.mock(KafkaReceiver.class);
JSONObject expected = new JSONObject();
expected.put("value","value");
ConsumerRecord<?, ?> record = new ConsumerRecord<>("topic", 0, 123L,
"key",expected);
JSONObject exp = new JSONObject(record.value().toString());
doNothing().when(producer).receiveTopic(record);
assertEquals(expected.get("value"), exp.get("value"));
}
}
@ExtendWith(MockitoExtension.class)
公共类卡夫卡考试{
@试验
public void receiveTopicTest()引发异常{
KafkaReceiver producer=Mockito.mock(KafkaReceiver.class);
预期的JSONObject=新的JSONObject();
预期。卖出(“价值”、“价值”);
ConsumerRecord记录=新的ConsumerRecord(“主题”),0,123L,
“关键”,预期);
JSONObject exp=新的JSONObject(record.value().toString());
doNothing().when(制作人).receiveTopic(记录);
assertEquals(预期的.get(“值”)、exp.get(“值”);
}
}