Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 向kafka使用者模拟对象时出现不必要的存根异常_Spring Boot_Kafka Consumer Api_Junit5 - Fatal编程技术网

Spring boot 向kafka使用者模拟对象时出现不必要的存根异常

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 {

我为kafka receiver编写了一个void方法,并尝试编写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"));
     }
     }
@组件
公共级卡夫卡接收器{
@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(“值”);
}
}