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

Implement multi-version integration testing #41

Closed
bmuschko opened this issue Nov 29, 2018 · 6 comments
Closed

Implement multi-version integration testing #41

bmuschko opened this issue Nov 29, 2018 · 6 comments
Assignees

Comments

@bmuschko
Copy link
Contributor

bmuschko commented Nov 29, 2018

  • A selection of existing integration tests can be run with multiple versions of Play
  • TestKit does not have built-in support for it
  • Implement a JUnit rule to allow running tests multiple times

Note: We do not know yet what the supported versions of Play should be. This depends on customers of the plugin giving us the information.

@bmuschko bmuschko self-assigned this Nov 29, 2018
@big-guy
Copy link
Member

big-guy commented Nov 30, 2018

@bmuschko is this the catch all issue for any test that needs multi-version support?

Could you list the tests that are affected by this here?

@big-guy
Copy link
Member

big-guy commented Nov 30, 2018

e.g., TwirlVersionIntegrationTest.groovy uses multiple versions, but it doesn't appear to be a "multi-version" test because it's not parameterized based on the version of Play.

@bmuschko
Copy link
Contributor Author

bmuschko commented Dec 1, 2018

@big-guy This is a catch-all issue. Let me know if you'd like me to make this an epic. My plan was to introduce a base class for multi-version testing and use it for all classes that will later need to support cross-version compatibility. Simply didn't get around to doing it yet.

@bmuschko
Copy link
Contributor Author

bmuschko commented Dec 3, 2018

@big-guy I somewhat prepared this work item. I introduced a parent class com.lightbend.play.PlayMultiVersionIntegrationTest that indicates that a test should be run with multiple Play versions later.

@bmuschko
Copy link
Contributor Author

bmuschko commented Dec 13, 2018

Implementation:

I wrote an implementation that can provide a combination of compatible Play & Scala version. By default, the multi-versions tests are only run with the latest Play version. On CI the all versions are executed. A system property can control the set of versions that should be run from the command line. Given that it takes very long to run all tests, we might want to think about running them in parallel on CI.

@big-guy
Copy link
Member

big-guy commented Dec 19, 2018

LGTM, thanks Ben

@big-guy big-guy closed this as completed Dec 19, 2018
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