Hi, I had the pleasure to meet Robert Scholte and Herve Boutemy here at ApacheCon in Seville. We talked al little bit about the progress of the JUnit 5 integration. This let us to create two sample projects which may indicate problems both within surefire and within JUnit. We're still investigating whether this are really issues. I'm in contact with the JUnit team to find out what they might need to fix and I'm reaching out to the Maven community to find out what we need to fix.
The first sample project is https://github.com/britter/junit-cl It uses the configuration described at http://junit.org/junit5/docs/snapshot/user-guide/#running-tests-build-maven-engines-configure to configure the JUnit Jupiter test engine to run some tests. What we want to find out is, whether the test class can see the classes of the test engine (which they should not) and whether the production classes can see the test classes or the test engine classes (which they should not). This is what Robert called the "classpath problem", because everything in mangled together in one classpath. This probably needs to be fixed inside JUnit. Unfortunately currently the configuration described in the JUnit docs does not work. So instead of configuring the jupiter engine, it just reports that it can not find any engines. The second example is https://github.com/britter/junit-java9 and it is about JUnit and Java 9 modules. Robert was sure that there is a problem with modules and that it needs to be fixed in surefire. However we did not get that example working at all, so Robert decided to investigate this some more when he is back home. Here is what we expect to fail: Suppose we have a package com.example with some classes. Then we add some tests in src/test/java in the same package. When we compile this and execute the tests, Java 9 should report that there are several jars providing classes for the com.example package. Hope I was able to give you a heads up on what we were talking about :-) Regards, Benedikt
