我需要为flink流式优化编写单元测试。它基本上是一个CoFlatMapFunction,它有2个输入。
我尝试从这个页面获得一些灵感:https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/testing.html
输入的顺序对我的优化很重要,所以当我测试时,我不能StreamExecutionEnvironment#fromCollection用于每个输入,因为我不会控制在每个输入中注入数据点的顺序。
我试图创建一个单独的输入使用StreamExecutionEnvironment#fromCollection并CoFlatMapFunction根据其类型将每个元素分配给我的实际输入,但是在此操作中元素的顺序会丢失。
还有其他方法可以编写此测试吗?
flink训练练习有一个使用你可以参考的TwoInputStreamOperatorTestHarness的例子:
你需要这些依赖:
org.apache.flink
flink-test-utils-junit
${flink.version}
org.apache.flink
flink-streaming-java_2.11
${flink.version}
test
test-jar
org.mockito
mockito-all
1.10.19
jar
test
org.apache.flink
flink-runtime_2.11
${flink.version}
test
test-jar
您应该记住,这不是一个公共的,受支持的界面,因此它可能以意想不到的方式发展。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。