You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Reuben Sivan (Jira)" <ji...@apache.org> on 2022/04/05 19:00:00 UTC

[jira] [Commented] (SUREFIRE-1651) JUnit5 Vintage + Maven-Failsafe + Category = ???

    [ https://issues.apache.org/jira/browse/SUREFIRE-1651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17517650#comment-17517650 ] 

Reuben Sivan commented on SUREFIRE-1651:
----------------------------------------

On further inspection, there is a problem with excludedGroups, but the problem is not that JUnit5 ignores excludedGroups. See [https://github.com/junit-team/junit5/issues/2877] for details.

> JUnit5 Vintage + Maven-Failsafe + Category = ???
> ------------------------------------------------
>
>                 Key: SUREFIRE-1651
>                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1651
>             Project: Maven Surefire
>          Issue Type: Bug
>          Components: JUnit 5.x support
>    Affects Versions: 2.22.1
>            Reporter: Torsten Mingers
>            Priority: Major
>             Fix For: waiting-for-apache-feedback
>
>         Attachments: IntegrationTestJUnit5Vintage.zip
>
>
> 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*
> {code}<plugins>
> 	<plugin>
> 		<groupId>org.apache.maven.plugins</groupId>
> 		<artifactId>maven-surefire-plugin</artifactId>
> 		<version>2.22.1</version>		
> 		<configuration>
> 			<includes>
> 				<include>**/*.class</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>{code}
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)