为 Apache Storm 编写集成测试
Writing integration tests for Apache Storm
在 Java 中为 Apache Storm 拓扑编写集成测试的推荐方法是什么?感谢任何 suggestions/links.
您可以使用 LocalCluster 进行集成测试。看看这个classhttps://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
。所有 spouts 实现 CompletableSpout
接口的拓扑可以是 运行 直到使用 Testing
class.
中的工具完成
Storm 测试也可以选择 "simulate time",这意味着 Storm 拓扑将空闲直到您调用 LocalCluster.advanceClusterTime
。例如,这可以让您在螺栓发射之间进行断言。
在 Java 中为 Apache Storm 拓扑编写集成测试的推荐方法是什么?感谢任何 suggestions/links.
您可以使用 LocalCluster 进行集成测试。看看这个classhttps://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
。所有 spouts 实现 CompletableSpout
接口的拓扑可以是 运行 直到使用 Testing
class.
Storm 测试也可以选择 "simulate time",这意味着 Storm 拓扑将空闲直到您调用 LocalCluster.advanceClusterTime
。例如,这可以让您在螺栓发射之间进行断言。