testing - 嵌入式 Kafka:无法在 5000 毫秒内从 Kafka 检索消息
问题描述
我正在使用嵌入式 Kafka 进行一些集成测试。我的代码在 Kafka 中插入了一个元素,我在测试中检查了这条记录是否正确。我有很多具有这种行为的测试。如果我执行单个测试,它总是可以工作,但如果我执行所有测试,其中一些可能会随机失败。
java.util.concurrent.TimeoutException: Unable to retrieve a message from Kafka in 5000ms
我的代码:
val recordFromKafka = DesMyClass.deserialize(EmbeddedKafka.consumeFirstMessageFrom(topic))
assertResult(result) {
recordFromKafka
}
我收到此错误并且下一个测试也失败了,因为我从上一个测试中恢复了记录,从而产生了一系列错误。
看来这是卡夫卡的问题。任何想法?如果我没有得到任何记录,我曾想过再次调用操作 consumeFirstMessageFrom ,但这似乎不是一个好方法。我正在使用以下版本:
<dependency>
<groupId>net.manub</groupId>
<artifactId>scalatest-embedded-kafka_2.11</artifactId>
<version>0.9.0</version>
<scope>test</scope>
</dependency>
解决方案
推荐阅读
- sql - PostgreSQL递归查询以获得排名边缘
- javascript - Capybara 测试在 Selenium 中通过,但在 Poltergeist 中失败
- xamarin - 在 Xamarin 应用程序中,来自 TabbedView 的选项卡不会在 Android 平板电脑模拟器中与 Android 手机模拟器中的同时填充
- regex - 返回第一个匹配模式
- r - 像在ggplot中一样循环圆形条形图
- java - 如何编写一个 Java 程序,将 CSV 文件从所有 covid 19 数据转换为 JSON
- jquery - 如何在 jquery 和 asp Mvc 中刷新页面
- sql - 使用数据类型“几何”时使用 mariadb/phpmyadmin 时会发生什么
- permissions - ECS 任务访问启用阻止公共访问的 S3 存储桶网站:“访问被拒绝”
- ios - xCode 项目未在 macOS Catalina 10.15.5 上找到 c++ 标准库