У меня есть общее количество 2799030
параметров, хранящихся в Iterable<Object[]>
, и я ожидал junit
, чтобы построить/запустить эти многочисленные тесты. но он просто зависает сразу после загрузки всех параметров в Iterable<Object[]>
- см снимок экрана ниже:Сколько параметров max может быть обработано параметрами junit perameterized?
Это хорошо с небольшим числом параметров (5000-10000) работает. Я также попытался запустить с более высокой памяти виртуальной машины Java (-Xms1024M -Xmx4096M
)
Update: Я также попытался запустить из CLI вместо IDE, от ошибок ниже, кажется, что я должен работать с большим объемом памяти или изменить дизайн для работы в небольших партиях , - мысли?
There was 1 failure:
1) initializationError(test.TestBuilder$buildTestSuites)
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuilder.append(Unknown Source)
at java.lang.reflect.Method.specificToStringHeader(Unknown Source)
at java.lang.reflect.Executable.sharedToString(Unknown Source)
at java.lang.reflect.Method.toString(Unknown Source)
at org.junit.internal.MethodSorter$2.compare(MethodSorter.java:33)
at org.junit.internal.MethodSorter$2.compare(MethodSorter.java:28)
at org.junit.internal.MethodSorter$1.compare(MethodSorter.java:20)
at org.junit.internal.MethodSorter$1.compare(MethodSorter.java:14)
at java.util.TimSort.countRunAndMakeAscending(Unknown Source)
at java.util.TimSort.sort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at org.junit.internal.MethodSorter.getDeclaredMethods(MethodSorter.java:56)
at org.junit.runners.model.TestClass.scanAnnotatedMembers(TestClass.java:65)
at org.junit.runners.model.TestClass.<init>(TestClass.java:57)
at org.junit.runners.ParentRunner.createTestClass(ParentRunner.java:88)
at org.junit.runners.ParentRunner.<init>(ParentRunner.java:83)
at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65)
at org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParameters.<init>(BlockJUnit4ClassRunnerWithParameters.java:27)
at org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParametersFactory.createRunnerForTestWithParameters(BlockJUnit4ClassRunnerWithParametersFactory.java:16)
at org.junit.runners.Parameterized.createRunnersForParameters(Parameterized.java:313)
at org.junit.runners.Parameterized.<init>(Parameterized.java:248)
at pps.test.Parallelized.<init>(Parallelized.java:50)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
FAILURES!!!
Tests run: 1, Failures: 1