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)