qala-io / datagen

Java lib that generates random data (numbers, strings, dates) - mostly to facilitate Randomized Testing.
http://qala.io/blog/randomized-testing.html
Apache License 2.0
60 stars 5 forks source link

Rename package for JUnit Jupiter support #2

Closed sbrannen closed 7 years ago

sbrannen commented 7 years ago

Since your support for JUnit 5 is actually support for the JUnit Jupiter programming model, I highly recommend that you rename the io.qala.datagen.junit5 package to io.qala.datagen.junit.jupiter in order to avoid conflicts with future versions of JUnit (e.g., JUnit 6's support for JUnit Jupiter).

ctapobep commented 7 years ago

I think I'm still a bit confused about the exact nature of their relationship. The docs say:

JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage

Which makes me think of Jupiter as some kind of reference implementation. Which makes them live together side by side and if one has new version - its partner has new version as well.

If that's a valid way of thinking about them, maybe it's not that big of a deal. In case JUnit6 is out with its new reference implementation, I'd then create another package - junit6.

sbrannen commented 7 years ago

If that's a valid way of thinking about them

It's not. 😉

Jupiter is not a reference implementation: it is the new programming and extension model introduced in JUnit 5.

In stark contrast to previous versions of JUnit, with JUnit 5, "JUnit 5" becomes an umbrella project for the other three projects: Platform, Jupiter, and Vintage.

That means that JUnit Jupiter (as a programming model) may very likely exist in JUnit 6, JUnit 7, etc. -- but without changes to packages on JUnit's side.

In other words, if JUnit 6 is released with continued support for JUnit Jupiter, your current package name will be confusing to users... since they would be required to use classes from your junit5 package on JUnit 6.

Make sense?

It's of course up to you how you name your packages; I'm just suggesting to you what we (the JUnit Team) suggest to everyone.

FWIW, I have followed my own advice for Spring 5's testing support with a package named org.springframework.test.context.junit.jupiter.

Regards,

Sam

sbrannen commented 7 years ago

For further background on the impetus for the "JUnit Jupiter" naming, please see this issue: https://github.com/junit-team/junit5/issues/286.

ctapobep commented 7 years ago

Ok, thanks for the help!

sbrannen commented 7 years ago

You're welcome!