我有风暴拓扑,计算每分钟的聚合。我想通过java单元测试来介绍应用程序,但是我找不到任何java单元测试的工作示例。我需要模拟时间上的变化,得到拓扑的输出并测试它。
kupeojn61#
解决办法似乎是:
Testing.withSimulatedTimeLocalCluster(new TestJob() { public void run(Cluster cluster) { // your testing logic here. Time.advanceTime(100); } });
它利用了 Testing 类(从所有javadocs中莫名其妙地丢失)以及 Time 类及其有用的手动时间推进方法。请注意,虽然这只会帮助你与风暴的内部时钟的东西,如滑动窗口等,你自己的代码需要知道模拟时间以及使用。java世界中的标准方法包括 Clock 类(仅限Java8)或 DateTimeUtils 如果你被约达时间困住了,那就去上课吧。
Testing
Time
Clock
DateTimeUtils
1条答案
按热度按时间kupeojn61#
解决办法似乎是:
它利用了
Testing
类(从所有javadocs中莫名其妙地丢失)以及Time
类及其有用的手动时间推进方法。请注意,虽然这只会帮助你与风暴的内部时钟的东西,如滑动窗口等,你自己的代码需要知道模拟时间以及使用。java世界中的标准方法包括
Clock
类(仅限Java8)或DateTimeUtils
如果你被约达时间困住了,那就去上课吧。