小编nop*_*ope的帖子

为什么我的 kafka 监听器在我的单元测试中不起作用

问题

我正在尝试对发送整数的卡夫卡生产者进行单元测试。运行单元测试时,我可以看到输出表明我的生产者和消费者在控制台中正常工作。也就是说,生产者发送零值,消费者接收零值,并将该整数与运行总计相加。

sending data = 0
received content = 0
sending total = 0
Run Code Online (Sandbox Code Playgroud)

然而,当测试 ConsumerRecord 返回空条目时,单元测试最终失败。我猜监听器根本就没有工作。

java.lang.AssertionError: 
Expected: a ConsumerRecord with value 0
     but: is null
Run Code Online (Sandbox Code Playgroud)

问题

我定义容器/消息监听器的方式是否有错误?或者我的单元测试有更根本的错误?

这个url包含我的生产者/配置和消费者/配置的代码。在那里查看它可能比在这里让代码部分变得更大更容易。

https://github.com/ewingian/RestCalculator/tree/master/src/main/java/com/calculator/kafka

单元测试

package com.calculator;

/**
 * Created by ian on 2/9/18.
 */
import com.calculator.kafka.services.KafkaProducer;
import com.calculator.kafka.services.KafkaConsumer;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.junit.After;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.kafka.core.DefaultKafkaConsumerFactory;
import org.springframework.kafka.core.DefaultKafkaProducerFactory;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.kafka.core.ProducerFactory;
import org.springframework.kafka.listener.KafkaMessageListenerContainer;
import org.springframework.kafka.listener.MessageListener;
import org.springframework.kafka.listener.config.ContainerProperties; …
Run Code Online (Sandbox Code Playgroud)

unit-testing spring-kafka

3
推荐指数
1
解决办法
8822
查看次数

标签 统计

spring-kafka ×1

unit-testing ×1