I have a large body of test cases that ideally I’d like to run in multiple threads.  In JUnit 3.8 I see javadoc for a multithreaded test suite junit.extensions.ActiveTestSuite.  I don’t see anything analogous in JUnit 4.  It seems that in JUnit 4 this really needs to be done as a Runner.


I got rough modified versions org.junit.internal.runners.CompositeRunner and org.junit.runners.Parameterized working in multithreaded mode, using a pool of threads to run each test returned by the @Parameters method in a thread.


I see a possible thread safety problem in org.junit.runner.notification.RunNotifier.  If a listener throws an exception, the notifier tries to remove it from the listener collection.  I am not sure but I think that this might cause problems when multithreaded.  (I’ve never had a listener throw, however.)


I am planning to look at multithreaded versions for some of the other runners.  If anyone else has ideas or is already doing this, please let me know? 



Jeff Clary