Kafka Producer集成测试定义

问题描述 投票:0回答:1

我有一个应用程序代码,可为Kafka主题产生事件。所以现在我需要为此编写集成测试。在互联网上搜索后,我对集成测试的定义感到困惑,该定义是应该使用spring-kafka-test库提供的嵌入式Kafka服务器,还是应该使用将要使用的实际Kafka集群测试代码?

这里的集成测试是什么?请有人帮助清除我的困惑。

我的测试将是:首先产生一个主题的记录,然后使用它是否实际产生。

apache-kafka integration-testing kafka-producer-api embedded-kafka
1个回答
0
投票

每个项目可能有不同的需求,以及为什么每个开发人员都认为某件事足够或不够。

更完整(但昂贵)的测试套件将:

  1. 单独测试生产者
  2. 使用嵌入式卡夫卡测试生产者
  3. [使用带有测试配置的kafka实例测试生产者(一个节点,本地)
  4. 使用kafka在“ staging”(多节点,在实际服务器中,但在“ test environment”中,作为CI / CD管道,使用生产配置来测试生产者)
  5. 在实际生产中测试生产者以对生产服务器进行压力测试,并确保产品行为良好(认为Simian Army

其中多少钱取决于您:

  • 我将执行1,因为TDD
  • 3也是便宜的,使2变得多余,并让您放心实际的“集成”在起作用,我总是这样做3。
  • 4对于生产中的任何产品都是必需和通用的,其自动化程度高于3。
  • 5仅由少数几家公司实现,在您的实际生产环境中“攻击自己”实际上要花费大量金钱,只是为了确保一切正常。

每个测试层都与您赋予它的重要性一样重要,并且可能看起来像是“覆盖范围”,因为某些错误仅在下一层中发生。

© www.soinside.com 2019 - 2024. All rights reserved.