Details
-
Type:
New Feature
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 2.9
-
Fix Version/s: None
-
Component/s: Maven Surefire Plugin
-
Labels:None
-
Complexity:Intermediate
-
Number of attachments :
Description
In some cases it is interesting to bind surefire to multiple execution targets but have it operate on different classpaths.
e.g:
- Have the same test suite run against multiple JPA providers; EclipseLink and Hibernate
- Arquillian test suite run against Tomcat and Jetty
In these cases you would have the TestCompile scope defined in your normal dependency chain scoped as "test", while you can tell surefire to activate another profile during test.
TestCompile = JPA API
TestRuntime = Hibernate | EclipseLink
Example:
https://gist.github.com/1155271
Git Commit: https://github.com/aslakknutsen/maven-surefire/commit/e914da14c12f96b042bad92f703d57e64f59276c
Adds the 'additionalProfiles' configuration option. The additional profile ids are used to activated the profile to re calculate the TestClasspath and open up for runtime only dependencies.
Used in cases where you e.g. only want API on classpath but test against a specific impl. Individual Surefire Executions can be configured to run against different API impls.