How can I include test classes into Maven jar and execute them?

Viewed 49976

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?

1 Answers
Related