Stephan van Hulst created SUREFIRE-1755:
-------------------------------------------

             Summary: Put dependencies from module-info in test sources on 
module path
                 Key: SUREFIRE-1755
                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1755
             Project: Maven Surefire
          Issue Type: Wish
          Components: Maven Surefire Plugin
    Affects Versions: 3.0.0-M4
            Reporter: Stephan van Hulst


When testing a Maven project that contains a {{module-info.java}} in both the 
main source folder and the test source folder, modules that are required for 
testing only (such as {{org.junit.jupiter.api}}) are not put on the module 
path, causing the tests to fail with an exception similar to:
{code:none}
java.lang.module.FindException: Module org.junit.jupiter.api not found, 
required by com.example.module{code}
 It would be nice if Surefire patched the module-info in the main source folder 
with extra dependencies from the module-info in the test source folder.

Example of main {{module-info.java}}:
{code:java}
module com.example.module {
  exports com.example.module;
  requires com.example.another.module;
}{code}
Example of test {{module-info.java}}:
{code:java}
open module com.example.module {
  exports com.example.module;
  requires com.example.another.module;
  requires org.junit.jupiter.api;
}{code}
This example implies that {{org.junit.jupiter.api}} would be available on the 
module path during testing, but not during regular compilation and runtime.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to