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

Alex Chachanashvili commented on SUREFIRE-1621:
-----------------------------------------------

{{I was trying different things, but this is a sample maven project I created, 
it has 1 java file which doesn't do much and a test which is supposed to always 
fail.  Works fine inside IntelliJ but running `mvn test` finds nothing.   I 
have attached the entire sample project: [^MavenJUnit5Test.tar.gz]}}

 

{{I am using jdk 11 on OsX}}
{code:java}
openjdk 11.0.2 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.2+7)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+7, mixed mode)
{code}
 

Running the attached project with mvn test:

 
{code:java}
~/Code/MavenJUnit5Test ᐅ mvn test
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< MavenJunit5Test:achacha.test.maven >-----------------
[INFO] Building achacha.test.maven 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ 
achacha.test.maven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ 
achacha.test.maven ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ 
achacha.test.maven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory 
/Users/achacha/Code/MavenJUnit5Test/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ 
achacha.test.maven ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to 
/Users/achacha/Code/MavenJUnit5Test/target/test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ 
achacha.test.maven ---
[INFO] Surefire report directory: 
/Users/achacha/Code/MavenJUnit5Test/target/surefire-reports

-------------------------------------------------------
T E S T S
-------------------------------------------------------

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.670 s
[INFO] Finished at: 2019-01-25T08:18:01-06:00
[INFO] ------------------------------------------------------------------------
~/Code/MavenJUnit5Test ᐅ mvn test
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< MavenJunit5Test:achacha.test.maven >-----------------
[INFO] Building achacha.test.maven 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ 
achacha.test.maven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ 
achacha.test.maven ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to 
/Users/achacha/Code/MavenJUnit5Test/target/classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ 
achacha.test.maven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory 
/Users/achacha/Code/MavenJUnit5Test/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ 
achacha.test.maven ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to 
/Users/achacha/Code/MavenJUnit5Test/target/test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ 
achacha.test.maven ---
[INFO] Surefire report directory: 
/Users/achacha/Code/MavenJUnit5Test/target/surefire-reports

-------------------------------------------------------
T E S T S
-------------------------------------------------------

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.690 s
[INFO] Finished at: 2019-01-25T08:22:57-06:00
[INFO] ------------------------------------------------------------------------
{code}

> 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)

Reply via email to