Модульное тестирование реализации одного процессора (java) в Kafka Streams?

Конкретная проблема, с которой приходится сталкиваться, заключается в имитации контекста, хранилищ состояний и оконных объектов, которые передаются в процесс функции.

Похоже, все примеры, например, здесь и здесь модульные тесты на уровне потока (например, mockStreams или использование EmbeddedKafkaCluster).


person del bao    schedule 29.01.2018    source источник
comment
Кстати, могу ли я предложить Spock для тестирования в Java (на самом деле, Groovy). Это делает насмешки действительно легкими и приятными. Так просто, что можно переборщить :)   -  person Dmitry Minkovsky    schedule 29.01.2018
comment
Kafka 1.1 (будет выпущен в ближайшее время) добавляет общедоступные тестовые артефакты, которые можно использовать для модульного тестирования. Подробности см. в KIP-247: cwiki.apache.org/confluence/display/KAFKA/   -  person Matthias J. Sax    schedule 30.01.2018


Ответы (1)


Если вы хотите протестировать реализацию одного процессора и вам нужно имитировать контекст, хранилища состояний и т. д., я бы просто использовал любые инструменты тестирования, которые вы обычно используете для имитации вещей (Mockito, CGLIB и т. д.).

Помимо объема вашего вопроса, существует также ProcessorTopologyTestDriver. Публикация на случай, если вы пропустили. Kafka Streams получает новые/улучшенные функции тестирования в следующая версия.

person Dmitry Minkovsky    schedule 29.01.2018