Uploaded image for project: 'Maven Surefire'
  1. Maven Surefire
  2. SUREFIRE-1651

JUnit5 Vintage + Maven-Failsafe + Category = ???

    XMLWordPrintableJSON

Details

    Description

      I finally managed to switch our test infrastructure to JUnit5. Strictly speaking, it is the first step and the "old" tests are all still JUnit4 and run via the Vintage engine.

      I currently have a problem with this combination.

       

      Some details:
      We separate unit tests and integration tests with @Category annotations and then filter them out in Surefire and Failsafe. I'll add the setup below.

      Since the change to JUnit5-Vintage, filtering has stopped working and all tests are always running.
      In JUnit5 the filtering happens via Tags. I can not specify these in JUnit4-based tests.

      According to the JUnit5 documentation, the categories should continue to work: https://junit.org/junit5/docs/current/user-guide/#migrating-from-junit4-categories-support

      However, in the documentary of Surefire (or Failsafe) only tags covered: https://maven.apache.org/surefire/maven-surefire-plugin/examples/junit-platform.html

      The configuration for JUnit5 tags is done in groups as previously with the categories in JUnit4. But the configuration does not seem to work when using JUnit5 Vintage engine to run the tests.

      Is there a way to configure the Maven Failsafe and Surefire plugins to work with tags and categories?

      For a hint, I would be very grateful.

       

      Configuration used

      <plugins>
      	<plugin>
      		<groupId>org.apache.maven.plugins</groupId>
      		<artifactId>maven-surefire-plugin</artifactId>
      		<version>2.22.1</version>		
      		<configuration>
      			<includes>
      				<include>**/*.class&lt;/include>
      			</includes>
      			<excludedGroups>
      				net.veda.horizon.test.IntegrationTest, net.veda.horizon.test.IntegrationTestGraphDB, net.veda.horizon.test.IntegrationPermissionTest
      			</excludedGroups>
      		</configuration>
      	</plugin>
      </plugins>
      
      ...
      
      <profiles>
      	<profile>
      		<id>integrationtest</id>
      		<activation>
      			<property>
      				<name>integrationTest</name>
      			</property>
      		</activation>
      		<build>
      			<plugins>
      				<plugin>
      					<groupId>org.apache.maven.plugins</groupId>
      					<artifactId>maven-failsafe-plugin</artifactId>
      					<version>2.19.1</version>
      					<configuration>
      						<includes>
      							<include>**/*.java</include>
      						</includes>
      						<groups>net.veda.horizon.test.IntegrationTest</groups>
      					</configuration>
      					<executions>
      						...
      					</executions>
      				</plugin>
      			</plugins>
      		</build>
      	</profile>
      ...
      </profiles>

       

      Attachments

        1. IntegrationTestJUnit5Vintage.zip
          5 kB
          Torsten Mingers

        Activity

          People

            Unassigned Unassigned
            tmi Torsten Mingers
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: