In a Maven project, I have test classes and source classes in the same package, but in different physical locations.
.../src/main/java/package/** <-- application code
.../src/test/java/package/** <-- test code
It's no problem to access the source classes in the test classes,
but I would like to run a test runner in the main method and access the AllTest.class so that I can create jar and execute my tests.
public static void main(String[] args) {
// AllTest not found
Result result = JUnitCore.runClasses(AllTest.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
System.out.println(result.wasSuccessful());
}
But it doesn't work as I don't have access to the test code. I don't understand since they are in the same package.
Question: how can access test classes from application classes? Alternatively, how can Maven package a fat jar including test classes and execute tests?