[ https://issues.apache.org/jira/browse/SUREFIRE-1621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alex Chachanashvili updated SUREFIRE-1621: ------------------------------------------ Attachment: MavenJUnit5Test.tar.gz > package-private class/method supported in JUnit5 is not executed > ---------------------------------------------------------------- > > Key: SUREFIRE-1621 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1621 > Project: Maven Surefire > Issue Type: Bug > Components: JUnit 5.x support > Affects Versions: 3.0.0-M3 > Environment: Java openJDK11, Maven 3.6.0 > Reporter: Alex Chachanashvili > Priority: Major > Attachments: MavenJUnit5Test.tar.gz > > > Test classes/methods have to be made pubic in order for maven/surefire to > execute them. > > Following will not execute (DebugTest.java) with surefire but will work with > IntelliJ, eclipse, Gradle, etc that support JUnit5: > > {code:java} > class DebugTest { > @Test > void failAlways() { assertTrue(false); } > } > {code} > > However changing it to following will work with Surefire but cause IDEs to > flag public scope that can be changed to package-private: > > {code:java} > public class DebugTest { > @Test > public void failAlways() { assertTrue(false); } > } > {code} > > JUnit 5 is supposed to support package-private declaration for test classes > and test methods and IDEs like IntelliJ and eclipse are suggesting this, > creating issues for people writing new tests that are not aware of the > surefire anomaly. Also automatic code cleanup in some IDEs are changing the > tests to be package-private and causing them to no longer run. > > Package-private tests are running correctly inside the IDEs and via Gradle, > but being skipped with Maven+Surefire. > > from POM (basically a simple java project) > {code:java} > <build> > <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory> > <plugins> > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-surefire-plugin</artifactId> > <version>3.0.0-M3</version> > </plugin> > </plugins> > </build> > {code} > > and in dependencies: > {code:java} > <dependencies> > ... > <dependency> > <groupId>org.junit.jupiter</groupId> > <artifactId>junit-jupiter-api</artifactId> > <version>5.3.2</version> > <scope>test</scope> > </dependency> > <dependency> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-surefire-plugin</artifactId> > <version>3.0.0-M3</version> > <scope>test</scope> > </dependency> > </dependencies> > {code} > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)