Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename package for JUnit Jupiter support #2

Closed
sbrannen opened this issue Jun 13, 2017 · 5 comments
Closed

Rename package for JUnit Jupiter support #2

sbrannen opened this issue Jun 13, 2017 · 5 comments

Comments

@sbrannen
Copy link

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
Copy link
Member

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
Copy link
Author

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
Copy link
Author

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

ctapobep added a commit that referenced this issue Jun 13, 2017
This is a breaking change, but prev release happened just recently, so
hopefully people haven't started to use it actively and they won't be
upset.
@ctapobep
Copy link
Member

Ok, thanks for the help!

@sbrannen
Copy link
Author

You're welcome!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants