我在junits上使用嵌入式kafka代理来测试推送到主题的值。
我得到以下错误日志。
[ERROR] KafkaConsumerTest>KafkaConsumerTests.shouldNotRetry4XXResponse:256
expected: <LocKey(orgId=ORG101, locationType=STORE, locationId=S101)>
but was: <{"orgId":"ORG101","locationType":"STORE","locationId":"S101"}>
我在比较钥匙 assertEquals(getKey(), record.getKey());
不知何故,花括号被添加到从Kafka收到的记录
有什么线索吗,谢谢!
2条答案
按热度按时间lvjbypge1#
我已经解决了这个问题。。被发布到kafka的数据之前被转换成json,然后被发布。
这就是为什么要加上花括号
抽象是一种罪恶!
xyhw6mcr2#
我更希望您发布整个单元测试,让我们看看Assert之前到底发生了什么,但问题可能出在您对kafka库的序列化器的定义上。似乎您为消息的键定义了一个字符串序列化程序,但您正在尝试将其与对象进行比较。不管怎样,检查你的序列化程序