At the moment, https://github.com/sbt/junit-interface/blob/master/src/main/java/com/novocode/junit/JUnitRunner.java#L123 loads all the test classes in the same classloader.
Depending on the amount of tests, this becomes a problem, because class definitions get loaded multiple times, but are not garbage collected.
At my current project, this leads to Out of memory: Metaspace exceptions after a few tests.
I think it would be good if we could create a child classloader for every TestClass which we throw away after the tests ran.
What do you think?
At the moment, https://github.com/sbt/junit-interface/blob/master/src/main/java/com/novocode/junit/JUnitRunner.java#L123 loads all the test classes in the same classloader.
Depending on the amount of tests, this becomes a problem, because class definitions get loaded multiple times, but are not garbage collected.
At my current project, this leads to Out of memory: Metaspace exceptions after a few tests.
I think it would be good if we could create a child classloader for every TestClass which we throw away after the tests ran.
What do you think?