This library helps in testing applications that use Apache Kafka.
Using the library, you can easily set up an outgoing queue that will receive messages that the application under test publishes to topics.
In order to enable the extension, it is necessary to mark the test class with the @EnableKafkaQueues
annotation.
To enable an outgoing message queue, you need to declare a field with the BlockingQueue<ConsumerRecord<K, V>>
type in the test class,
where K is the key type and V is the message type, and mark it with the @OutputQueue
annotation.
@OutputQueue
has some properties:
- topic - output topic, where application publish messages;
- bootstrapServers - kafka bootstrap servers. If this property has format like
${bootstrap-servers}
, then it is takes from the environment. Default value is"${spring.embedded.kafka.brokers}
; - keyDeserializer - type of key deserializer;
- valueDeserializer - type of value deserializer;
- partitions - number of topic partitions;
- additionalProperties - some custom kafka consumer properties, example =
property-key=property-value
.
Usage example
io.github.vichukano kafka-junit-extension 1.1.0
implementation group: 'io.github.vichukano', name: 'kafka-junit-extension', version: '1.1.0'