+1 (binding) On Wed, Jun 30, 2021 at 5:56 PM Qingsheng Ren <renqs...@gmail.com> wrote:
> Dear devs, > > > As discussed in the thread[1], I’d like to start a vote on migrating the > test framework of Flink project to JUnit 5. > > > JUnit 5[2] provides many exciting new features that can simplify the > development of test cases and make our test structure cleaner, such as > pluggable extension models (replacing rules such as > TestLogger/MiniCluster), improved parameterized test, annotation support > and nested/dynamic test. > > > The migration path towards JUnit 5 would be: > > > 1. Remove JUnit 4 dependency and introduce junit5-vintage-engine in the > project > > > The vintage engine will keep all existing JUnit4-style cases still > valid. Since classes of JUnit 4 and 5 are located under different packages, > there won’t be conflict having JUnit 4 cases in the project. > > > 2. Rewrite JUnit 4 rules in JUnit 5 extension style (~10 rules) > > > 3. Migrate all existing tests to JUnit 5 > > > This would be a giant commit similar to code reformatting and could be > merged after cutting the 1.14 release branch. There are many migration > examples and experiences to refer to, also Intellij IDEA provides tools for > refactoring. > > > 4. Ban JUnit 4 imports in CheckStyle > > > Some modules ilke Testcontainers still require JUnit 4 in the > classpath, and JUnit 4 could still appear as transitive dependency. Banning > JUnit 4 imports can avoid developers mistakenly using JUnit 4 and split the > project into 4 & 5 again. > > > 5. Remove vintage runner and some cleanup > > > > This vote will last for at least 72 hours, following the consensus voting > process. > > > Thanks! > > > [1] > > https://lists.apache.org/thread.html/r6c8047c7265b8a9f2cb3ef6d6153dd80b94d36ebb03daccf36ab4940%40%3Cdev.flink.apache.org%3E > > [2] https://junit.org/junit5 > > -- > Best Regards, > > *Qingsheng Ren* > > Email: renqs...@gmail.com >