[ https://issues.apache.org/jira/browse/CASSANDRA-16630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17697269#comment-17697269 ]
Jacek Lewandowski commented on CASSANDRA-16630: ----------------------------------------------- Is this ticket still in progress? I strongly support the efforts to get JUnit5 in Cassandra tests for many reasons. > Migrate to JUnit5 > ----------------- > > Key: CASSANDRA-16630 > URL: https://issues.apache.org/jira/browse/CASSANDRA-16630 > Project: Cassandra > Issue Type: Improvement > Components: Test/unit > Reporter: Aleksei Zotov > Assignee: Aleksei Zotov > Priority: Low > Time Spent: 20m > Remaining Estimate: 0h > > h3. Overview > Currently C* uses JUnit4 (version 4.12) which is obsolete. There is a newer > version 4.13.2 which we could update to. However, JUnit4 is generally > considered to be outdated and it is reasonable to migrate to JUnit5. > Despite of having a syntax sugar in JUnit5 (assertThrow, lamda's support, > ect), there are no blockers that push us to move from JUnit4. The main > motivation for this initiative is rule of thumb to use up-to-date versions of > the dependencies. > Obviously this change is not backward compatible with the open PRs and > previous C* versions. Therefore, it will require an additional effort for > backporting the changes and updating PRs that have tests. However, I believe > it should not be a blocker for this initiative. > h3. Scope (preliminary list) > # change JUnit4 to JUnit5 dependencies and make necessary changes in ant > tasks (https://ant.apache.org/manual/Tasks/junitlauncher.html) > # update syntax in all tests (imports, Before/After annotations, etc) > # update parameterized tests > # create a new version of {{OrderedJUnit4ClassRunner}} and update > corresponding tests > # update tests that use {{BMUnitRunner}} (as per > https://developer.jboss.org/docs/DOC-52953 it supports JUnit5) > # update tests with {{@Rule}} > # update tests with expected exceptions > # update {{JStackJUnitTask}} > # update formatters > # create a separate ticket to migrate to {{ant-junitlauncher-1.10.11}} (once > it is released) and simplify {{JStackJUnitTask}} after > https://github.com/apache/ant/pull/147 > h3. Order of operations > In order to make the transition more smooth we want to use a phased approach: > # migrate to JUnit5 with [Vintage > Engine|https://junit.org/junit5/docs/current/user-guide/#dependency-metadata-junit-vintage], > so all JUnit4 tests work as is > # update tests in a few bunches (to not have a huge single PR with numerous > conflicts) > # disable (remove dependency) Vintage Engine, so only JUnit5 tests work -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org