我们开发了一个系统,使用 kafka 对数据进行排队,然后使用该数据为用户下订单。
我们已经手动测试了某些事情,但现在我们的目标是自动化该过程。
有没有客户端可以测试一下?我找到了使用 kafka 客户端本身对其进行单元测试的方法,但我的目标是测试整个系统。
编辑:我们的目的只是 API 测试,即只是后端,而不是 UI
最佳答案
您可以在集成测试中以编程方式启动 Kafka,Kafka 使用 Zookeeper,因此首先查看 Zookeeper TestingServer - 此类的实例使用给定端口创建并启动 Zk 服务器。
接下来看KafkaServerStartable.scala ,您必须提供指向内存中 Zk 服务器的配置并调用 startup()
方法,以下是一些代码:
import kafka.server.KafkaConfig;
import kafka.server.KafkaServerStartable;
import java.util.Properties;
public KafkaTest() {
Properties properties = createProperties();
KafkaConfig kafkaConfig = new KafkaConfig(properties);
KafkaServerStartable kafka = new KafkaServerStartable(kafkaConfig);
kafka.startup();
}
希望这些有帮助:)
关于java - 如何自动化 Kafka 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30161235/