1

用 Java 为 Apache Storm 拓扑编写集成测试的推荐方法是什么?感谢任何建议/链接。

4

1 回答 1

2

您可以使用 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 .

您可能想要使用的工具是FeederSpoutFixedTupleSpoutCompletableSpout使用类中的工具可以运行所有 spout 实现接口的拓扑,直到完成Testing

Storm 测试还可以选择“模拟时间”,这意味着 Storm 拓扑将空闲直到您调用LocalCluster.advanceClusterTime. 例如,这可以让您在螺栓发射之间进行断言。

于 2019-09-26T19:44:12.510 回答