Java ProcessWindowFunction上的Flink单元测试<;输入、输出、按键、W>;

Java ProcessWindowFunction上的Flink单元测试<;输入、输出、按键、W>;,java,apache-flink,flink-streaming,flink-cep,Java,Apache Flink,Flink Streaming,Flink Cep,如何为有状态流程函数创建单元测试。我有这样的想法: private static SingleOutputStreamOperator<Tuple> methodName(KeyedStream<Event, String> stream) { return stream.window(TumblingEventTimeWindows.of(Time.minutes(10))) .process(new ProcessFu

如何为有状态流程函数创建单元测试。我有这样的想法:

 private static SingleOutputStreamOperator<Tuple> methodName(KeyedStream<Event, String> stream) {
        return stream.window(TumblingEventTimeWindows.of(Time.minutes(10)))
                .process(new ProcessFunction());
    }
私有静态SingleOutputStreamOperator方法名(KeyedStream){
返回stream.window(TumblingEventTimeWindows.of(Time.minutes(10)))
.process(新的ProcessFunction());
}

ProcessFunction扩展了ProcessWindowFunction
我在Flink page中发现的所有线束测试都是从KeyedProcessFunction扩展而来的,这不是我的情况。 谢谢
亲切的问候

通常,这些测试线束预期测试操作员,而不是用户功能。因此,对于
ProcessWindowFunction
,您需要首先创建一个合适的窗口操作符以传递到测试线束

您可以使用围绕
ProcessWindowFunction
OneInputStreamOperator测试线束
测试
ProcessWindowFunction
。恐怕这不是很简单,但我可以给你举个例子


Ververica提供的Apache Flink培训课程涵盖了测试()的内容,其中包含了有关如何使用这些测试工具的更多信息。

只是一个注释:由于Flink已经有一个名为ProcessFunction的公共类,如果您给类起一个不同的名称,那么就不会那么混乱了。请给出简单的,测试Flink窗口函数的基本示例?特别是
滑动处理时间窗口
功能。我研究了这些代码片段,但它们对我来说似乎相当复杂。我无法将它们应用到我的项目中。我还尝试使用自定义接收器对窗口函数进行单元测试,但在输出上没有得到任何结果。Flink文档中也没有关于测试窗口函数的内容。我在任何地方都找不到测试Flink窗口函数的基本示例。
ProcessFunction extends ProcessWindowFunction<IN, OUT, KEY, W>