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
Topology
either using the StreamsBuilder DSL or the low-level Processor API. Normally, the topology runs with theKafkaStreams
class, 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.