为 Kafka Spring 编写集成测试还是单元测试更好?

发布于 2025-01-15 17:12:41 字数 169 浏览 0 评论 0原文

我一直在寻找在 Spring 中测试 Kafka 的最佳方法。 据我所知,@EmbeddedKafka更多的是用于单元测试,但是通过为其编写集成测试来在真实的工作环境中测试Kafka不是更好吗? 我通过为 Kafka 编写单元测试到底是在测试什么? 一个真正工作的生产者和消费者应该比嘲笑kafka更有意义。 你有什么建议?

I've been searching a while about the best way to test Kafka in Spring.
As far as I know, @EmbeddedKafka is more for an unit test but isn't it better to test Kafka in a real working environment by writing integration test for it?
And what really am I testing by writing unit test for Kafka?
A real working producer and consumer should be more meaningful than mocking the kafka.
What do you suggest?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岁月流歌 2025-01-22 17:12:42

EmbeddedKafka 集成测试。它启动一个真正的经纪人,而不是一个模拟经纪人,供您与之交互。

对于单元测试,Kafka 为消费者和生产者提供自己的模拟,不依赖于 Spring 库

我通过为 Kafka 编写单元测试到底要测试什么

你的一般处理逻辑,包括错误处理和反序列化

在 Kafka Streams 中,你还可以根据模拟窗口来控制记录的时间来测试聚合逻辑

EmbeddedKafka is an integration test. It starts a real broker, not a mock, for you to interact with.

For unit testing, Kafka provides its own mocks for consumer and producer, not reliant on Spring libraries

what really am I testing by writing unit test for Kafka

Your general processing logic, including error handling and deserialization

In Kafka Streams, you can also control the timing of the records for testing aggregation logic based on simulated windows

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文