Yeva Byzek continues her series on testing Kafka-based streaming applications:
When you create a stream processing application with Kafka’s Streams API, you create a
Topologyeither using the StreamsBuilder DSL or the low-level Processor API. Normally, the topology runs with theKafkaStreamsclass, which connects to a Kafka cluster and begins processing when you callstart(). For testing though, connecting to a running Kafka cluster and making sure to clean up state between tests adds a lot of complexity and time.Instead, developers can unit test their Kafka Streams applications with utilities provided by
kafka-streams-test-utils. Introduced in KIP-247, this artifact was specifically created to help developers test their code, and it can be added into your continuous integration and continuous delivery (CI/CD) pipeline.
Streaming applications need tested just like any other.