Каков рекомендуемый способ написания интеграционных тестов для топологии Apache Storm в Java?Ценю любые предложения / ссылки.
Вы можете использовать LocalCluster для интеграционного тестирования.Взгляните на этот класс https://github.com/apache/storm/blob/822a4685c0278aba9d4e0f43104bc4f86a462222/storm-server/src/main/java/org/apache/storm/LocalCluster.java#L119
Вы можете посмотреть на некоторые из собственных интеграционных тестов Storm, например https://github.com/apache/storm/blob/e0feb6cf04107029d4b24420f265495cdfbdb098/storm-server/src/test/java/org/apache/storm/TestingTest.java#L38.
Инструменты, которые вы, возможно, захотите использовать, это FeederSpout и FixedTupleSpout.Топология, в которой все сопла реализуют интерфейс CompletableSpout, может быть запущена до завершения с использованием инструментов класса Testing.
FeederSpout
FixedTupleSpout
CompletableSpout
Testing
В штормовых тестах можно также выбрать «имитацию времени», что означает, что топология Storm будет простаивать доВы звоните LocalCluster.advanceClusterTime.Это может позволить вам делать утверждения между выбросами болта, например.
LocalCluster.advanceClusterTime