Стратегии выполнения тестов в gradle
DESCRIPTION
Gradle configurations for running tests.TRANSCRIPT
Стратегии выполнения тестов в Gradle
Пример конфигурации:
apply plugin:'java'
test{include 'org/tests/**'forEvery 1maxParallelForks 2
}
forkEvery M
максимальное количество M тестовых классов, которые будут запущены в текущем процессе. При достижении максимального количества запущенных классов, создается новый процесс JVM.
Стандартное значение:0тесты выполняются в одном процессе JVM
maxParallelForks N
максимальное количество N процессов JVM в которых будут запущены тестовые классы.
Стандартное значение:1все тесты выполняются в одном процессе JVM последовательно
Стратегии выполнения:
выделим стратегии выполнения тестов исходя из расмотренных ранее свойств,а именно количества выполняемых тестов в одном процессе(forkEvery) и количества одновременного запускуемых процессов(maxParallelFork).
Стратегии выполнения:
1.последовательно,без создания новых процессов JVM (стандартное выполнение)forkEvery 0maxParallelFork 12.последовательно, с созданием новых процессов JVMforkEvery MmaxParallelFork 1
Выделим следующие стратегии:
3.параллельно,без создания новых процессов JVMforkEvery 0maxParallelFork N4.параллельно, с создание новых процессов JVMforkEvery MmaxParallelFork N
Тестовый набор:
PID - номер процесса в котором выполняются тестовые классыThread - процесс в котором выполняются тестовые классы
A1 A2 A3
B1 B2 B3
C1 C2 C3
тестовые классы пакета А
тестовые классы пакета B
тестовые классы пакета C
forkEvery 0 (default)maxParallelFork 1 (default)
A1 A2 B1 C1 C3... ...... PID:1Thread 1
forkEvery 3 maxParallelFork 1 (default)
PID:1Thread 1
A1 A3
PID:2Thread 1
PID:3Thread 1
...
B1 B3...
C1 C3...
forkEvery 0 (default)maxParallelFork 2
PID:1Thread 1
A1 A2
A3 B1
B2
B3 PID:2Thread 2
C1
C2 C3
forkEvery 3maxParallelFork 2
PID:1Thread 1
A1 A2
A3 B1
B2
B3 PID:2Thread 2
C1 C2 C3 PID:3Thread 2