Стратегии выполнения тестов в gradle

12
Стратегии выполнения тестов в Gradle [email protected]

Upload: ilia-lapitan

Post on 25-Dec-2014

789 views

Category:

Technology


7 download

DESCRIPTION

Gradle configurations for running tests.

TRANSCRIPT

Page 1: Стратегии выполнения тестов в Gradle

Стратегии выполнения тестов в Gradle

[email protected]

Page 2: Стратегии выполнения тестов в Gradle

Пример конфигурации:

apply plugin:'java'

test{include 'org/tests/**'forEvery 1maxParallelForks 2

}

Page 3: Стратегии выполнения тестов в Gradle

forkEvery M

максимальное количество M тестовых классов, которые будут запущены в текущем процессе. При достижении максимального количества запущенных классов, создается новый процесс JVM.

Стандартное значение:0тесты выполняются в одном процессе JVM

Page 4: Стратегии выполнения тестов в Gradle

maxParallelForks N

максимальное количество N процессов JVM в которых будут запущены тестовые классы.

Стандартное значение:1все тесты выполняются в одном процессе JVM последовательно

Page 5: Стратегии выполнения тестов в Gradle

Стратегии выполнения:

выделим стратегии выполнения тестов исходя из расмотренных ранее свойств,а именно количества выполняемых тестов в одном процессе(forkEvery) и количества одновременного запускуемых процессов(maxParallelFork).

Page 6: Стратегии выполнения тестов в Gradle

Стратегии выполнения:

1.последовательно,без создания новых процессов JVM (стандартное выполнение)forkEvery 0maxParallelFork 12.последовательно, с созданием новых процессов JVMforkEvery MmaxParallelFork 1

Page 7: Стратегии выполнения тестов в Gradle

Выделим следующие стратегии:

3.параллельно,без создания новых процессов JVMforkEvery 0maxParallelFork N4.параллельно, с создание новых процессов JVMforkEvery MmaxParallelFork N

Page 8: Стратегии выполнения тестов в Gradle

Тестовый набор:

PID - номер процесса в котором выполняются тестовые классыThread - процесс в котором выполняются тестовые классы

A1 A2 A3

B1 B2 B3

C1 C2 C3

тестовые классы пакета А

тестовые классы пакета B

тестовые классы пакета C

Page 9: Стратегии выполнения тестов в Gradle

forkEvery 0 (default)maxParallelFork 1 (default)

A1 A2 B1 C1 C3... ...... PID:1Thread 1

Page 10: Стратегии выполнения тестов в Gradle

forkEvery 3 maxParallelFork 1 (default)

PID:1Thread 1

A1 A3

PID:2Thread 1

PID:3Thread 1

...

B1 B3...

C1 C3...

Page 11: Стратегии выполнения тестов в Gradle

forkEvery 0 (default)maxParallelFork 2

PID:1Thread 1

A1 A2

A3 B1

B2

B3 PID:2Thread 2

C1

C2 C3

Page 12: Стратегии выполнения тестов в Gradle

forkEvery 3maxParallelFork 2

PID:1Thread 1

A1 A2

A3 B1

B2

B3 PID:2Thread 2

C1 C2 C3 PID:3Thread 2