> Will this change a lot of lines of code?
If we want to fully migrate to JUnit5 then it means (for example) replacing
all occurrences of `org.junit.Test` with `org.junit.jupiter.api.Test` (plus
all other test annotations). In this case the answer is yes.
However, there is also an option of keeping existing tests unchanged and
running them with vintage engine.

New JUnit5 has a more powerful concept of extensions (instead of ClassRule)
which will help us with some current limitations in integration tests for
Elastic, Mongo, Geode adapters.

On Sat, Mar 9, 2019 at 2:27 PM Julian Hyde <jh...@apache.org> wrote:

> Will this change a lot of lines of code? I don’t know what benefits Junit5
> brings but I am doubtful that it is worth changing a lot of the code base
> to achieve them.
>
> > On Mar 9, 2019, at 9:17 AM, Andrei Sereda <and...@sereda.cc> wrote:
> >
> > Greetings,
> >
> >
> > I would like to start a gradual migration of calcite test codebase to
> > [JUnit5](https://junit.org/junit5/). The plan is to do in several steps
> > outlined below :
> >
> > 1. Upgrade maven wrapper to 3.6.0 (surefire plugin needs to work with
> > JUnit5 >= 2.22.0). Maybe enforce maven 3.6.0 during builds.
> > 2. Add new dependencies to maven pom (jupiter and vantage).
> > 3. Migrate all basic tests to new JUnit5 API. Basic in this context means
> > tests without [rules](https://github.com/junit-team/junit4/wiki/rules)
> or
> > [runners](
> >
> https://github.com/junit-team/junit4/wiki/test-runners#runwith-annotation)
> > just basic `@Test` / `@Before` / `@Ignore` annotations. Code where I can
> > just apply string/replace and make it work in JUnit5.
> > 4. Migrate remaining tests (with `@Parameterized` / `@ClassRule` etc.).
> For
> > example, I will have to write custom extensions for existing elastic /
> > mongo / cassandra / geode class rules.
> >
> > For developers that means you will need to have a reasonably recent IDE /
> > Maven:
> > 1. For IntelliJ this is >= 2016.2
> > 2. For Eclipse this is >= Oxygen.1a (4.7.1a)
> > 3. For Maven >= 3.6.0 (released on 2018-10-24)
> >
> > Questions to fellow calcitians:
> >
> > 1. Do you agree with JUnit5 migration ?
> > 2. Do you agree with the plan ?
> > 3. Should I wait for 1.20 release ?
> > 4. Anything I missed ?
> >
> > Regards,
> > Andrei.
>
>

Reply via email to