Robert Važan created SUREFIRE-2189:
--------------------------------------
Summary: Tests in src/main/java are not detected
Key: SUREFIRE-2189
URL: https://issues.apache.org/jira/browse/SUREFIRE-2189
Project: Maven Surefire
Issue Type: Bug
Components: JUnit 5.x support, Maven Surefire Plugin
Affects Versions: 3.1.2
Environment: Java 17, with or without JPMS
Reporter: Robert Važan
There are sometimes reasons to put JUnit tests under src/main/java next to
production code. Surefire cannot detect these tests and runs only tests under
src/test/java.
I tried to set testClassesDirectory to target/classes. That causes surefire to
run tests under src/main/java, but then tests under src/test/java are ignored.
Changing testClassesDirectory also causes weird module loading exceptions in a
bigger project with more dependencies.
If you are curious why anyone would put test in production code, here are my
reasons:
# I want to run all tests in the background after the app starts in dev
environment. Since the tests rarely fail, this lets me shorten edit-test-run
cycle into edit-run cycle.
# I want to visually annotate app UI that has associated tests.
# I want to run tests in production environment as a sanity check.
# I want to check compatibility between the app and its environment. This
could be done with ordinary code, but structuring it as JUnit tests is
convenient and results in clean code.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)