gpt4 book ai didi

Python:模拟 Kafka 进行集成测试

转载 作者:行者123 更新时间:2023-12-04 12:04:03 26 4
gpt4 key购买 nike

我对集成测试有点陌生。我有两个使用 Kafka 相互传递消息的服务。但是,对于我的集成测试,我不一定想让 Kafka 运行来运行我的测试。有没有标准的方法来模拟 Kafka?或者这是我需要自己创建的东西,一些 MockKafka 队列和应用程序中适当的补丁?此外,这是否违反了集成测试应该做的事情?我对此的看法是,我没有测试 Kafka 的任何功能,为了集成测试,应该模拟出那里。

最佳答案

模拟 Kafka 本身是不可行的,因为它的协议(protocol)不是通用的 RFC 支持的标准(与 HTTP 不同)并且只有一种实现。
在单元测试级别,您可以抽象和模拟需要 Kafka 的功能,但这不是您的情况。您需要集成测试,因此,很可能您必须让实际的 Kafka 进行实际交互测试。
为了以最小的努力让真正的 Kafka 参与进来,我会使用特殊的自包含 Docker 镜像(例如: https://github.com/up9inc/async-ms-demo/tree/main/kafka )。构建它并在暴露 9092 端口的情况下运行它。
对于与 Kafka 的集成测试,我的原则是不模拟 Kafka 本身,而是使用我所谓的“模拟 Actor ”来模拟“不需要/不相关”的服务。
“模拟 Actor ”方法在这里详细描述:https://up9.com/mock-actor-approach-for-kafka (我写的文章)。还有一个工具实现了这些功能( http://mockintosh.io )。

关于Python:模拟 Kafka 进行集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40800073/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com