Dear all,
I have some questions regarding testing in Flink. The more general question is: is there any guideline, template, or best practices that we can follow if we want to test our flink code (more in scala)? I know there is this page: https://ci.apache.org/projects/flink/flink-docs-release-1.6/dev/stream/testing.html but not so much written there. And I also did not find a more comprehensive documentation of this library: flink-test-utils_2.11. One detailed question: how do you test this WindowFunction below? The return type is Unit right? We cannot do unit test on like, like how the ReduceFunction was tested in the example link above. Then we only have the option of doing integration testing on it? Your ideas would be very helpful :) Thanks in advance ! Best regards/祝好, Chang Liu 刘畅 |
Hi Chang, There are some harness tests which can be used to test your function. It is also a common way to test function or operator in flink internal tests. Currently, the harness classes mainly include:
You can take a look at the source code of these classes. To be more specific, you can take a look at the testSlidingEventTimeWindowsApply[1], in which the RichSumReducer window function has been tested. Best, Hequn On Mon, Aug 13, 2018 at 7:10 AM, Chang Liu <[hidden email]> wrote:
|
In reply to this post by Chang Liu
Hi Chang,
Regarding the return value type, Scala allows the method to not specify the return value type, it can be inferred by the compiler, if you specify a non-Unit type compiler will report an error, if you do not specify an explicit type, the result of the method may be an error, test pass or not pass. In this respect it does not have the clarity of Java. But there is no doubt that its return value will not be adopted by Flink. Chang Liu <[hidden email]> 于2018年8月13日周一 上午7:11写道:
code.png (138K) Download Attachment |
In reply to this post by Chang Liu
Hi Chang,
Best, Dawid On 13/08/18 01:10, Chang Liu wrote:
Dear all, signature.asc (849 bytes) Download Attachment |
In reply to this post by Hequn Cheng
Hi Hequn,
Thanks fr your reply. Just to understand, these harness tests and the example your provided is actually having the same concept of the integration test with the example given here (https://ci.apache.org/projects/flink/flink-docs-release-1.6/dev/stream/testing.html#integration-testing) right ? Harness tests provide more easy to use utils to construct source/sink and the execution environment.
Best regards/祝好, Chang Liu 刘畅
|
In reply to this post by Dawid Wysakowicz-2
Hi Dawid,
Many Thanks :) Best regards/祝好, Chang Liu 刘畅
signature.asc (849 bytes) Download Attachment |
In reply to this post by Hequn Cheng
And another question: which library should I include in order to use these harnesses? I do have this flink-test-utils_2.11 in my pom, but I cannot find the harnesses.
I also have the following in my pom:
Best regards/祝好, Chang Liu 刘畅
|
Hi Change, Try <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java_2.11</artifactId> <version>${flink.version}</version> <type>test-jar</type> <scope>test</scope> </dependency> . On Mon, Aug 13, 2018 at 6:42 PM, Chang Liu <[hidden email]> wrote:
|
Hi Hequn, I have added the following dependencies: <dependency> But got the exception: java.lang.NoClassDefFoundError: org/apache/flink/runtime/operators/testutils/MockEnvironmentBuilder Do you know which library contains this class? Thanks :) Best regards/祝好, Chang Liu 刘畅 DevOps Engineer WB TECH / Cyber Crime Prevention Team Mobile: +31(0)687859981 Email: [hidden email] & [hidden email] On Mon, Aug 13, 2018 at 1:42 PM Hequn Cheng <[hidden email]> wrote:
|
No worries, I found it here: <dependency> Best regards/祝好, Chang Liu 刘畅 On Fri, Aug 24, 2018 at 1:16 PM Chang Liu <[hidden email]> wrote:
|
Hi Chang, A time-saving tip for finding which library contains a class: go to https://search.maven.org/ and enter fc: followed by the fully-qualified name of the class. You should get the library as a search result. In this case for example, you'd search for fc:org.apache.flink.runtime.operators.testutils.MockEnvironmentBuilder Best, Joe Malt Engineering Intern, Stream Processing Yelp Inc. On Fri, Aug 24, 2018 at 4:50 AM, Chang Liu <[hidden email]> wrote:
|
Thanks Joe! Best regards/祝好, Chang Liu 刘畅 On Fri, Aug 24, 2018 at 6:55 PM Joe Malt <[hidden email]> wrote:
|
Free forum by Nabble | Edit this page |