SlideShare a Scribd company logo
1 of 12
Download to read offline
Стратегии выполнения
   тестов в Gradle
    ilya.lapitan@gmail.com
Пример конфигурации:
apply plugin:'java'

test{
   include 'org/tests/**'
   forEvery 1
   maxParallelForks 2
}
forkEvery M
максимальное количество      M тестовых
классов, которые будут запущены в текущем
процессе. При достижении максимального
количества запущенных классов, создается
новый процесс JVM.

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

Стандартное значение:1
все тесты выполняются в одном процессе
JVM последовательно
Стратегии выполнения:
выделим стратегии выполнения тестов
исходя из расмотренных ранее свойств,а
именно количества выполняемых тестов в
одном процессе(forkEvery) и количества
одновременного запускуемых процессов
(maxParallelFork).
Стратегии выполнения:
1.последовательно,без создания новых
процессов JVM (стандартное выполнение)
forkEvery 0
maxParallelFork 1
2.последовательно, с созданием новых
процессов JVM
forkEvery M
maxParallelFork 1
Выделим следующие стратегии:
3.параллельно,без создания новых
процессов JVM
forkEvery 0
maxParallelFork N
4.параллельно, с создание новых процессов
JVM
forkEvery M
maxParallelFork N
Тестовый набор:
   A1    A2    A3   тестовые классы пакета А


   B1    B2    B3   тестовые классы пакета B


   C1    C2    C3   тестовые классы пакета C

PID - номер процесса в котором выполняются тестовые
классы
Thread - процесс в котором выполняются тестовые
классы
forkEvery 0 (default)
maxParallelFork 1 (default)


   A1   A2         B1         C1         C3   PID:1
             ...        ...        ...        Thread 1
forkEvery 3
maxParallelFork 1 (default)


   A1         A3                                   PID:1
        ...                                        Thread 1


                   B1         B3                   PID:2
                        ...                        Thread 1

                                   C1         C3   PID:3
                                        ...        Thread 1
forkEvery 0 (default)
maxParallelFork 2


    A1   A2    B2   C1        PID:1
                              Thread 1


    A3   B1    B3   C2   C3   PID:2
                              Thread 2
forkEvery 3
maxParallelFork 2


   A1   A2   B2                    PID:1
                                   Thread 1


   A3   B1   B3                    PID:2
                                   Thread 2

                    C1   C2   C3   PID:3
                                   Thread 2

More Related Content

Viewers also liked

Viewers also liked (12)

Bash scripting
 Bash scripting Bash scripting
Bash scripting
 
Gradle
GradleGradle
Gradle
 
Enter the gradle
Enter the gradleEnter the gradle
Enter the gradle
 
Javaone 2013 moscow gradle
Javaone 2013 moscow gradleJavaone 2013 moscow gradle
Javaone 2013 moscow gradle
 
Архивы в Java
Архивы в JavaАрхивы в Java
Архивы в Java
 
Apache2
Apache2Apache2
Apache2
 
Learn Java with Coursera
Learn Java  with  CourseraLearn Java  with  Coursera
Learn Java with Coursera
 
Amazon S3
Amazon S3 Amazon S3
Amazon S3
 
Apache Camel Lifecycle
Apache Camel LifecycleApache Camel Lifecycle
Apache Camel Lifecycle
 
Maven lifecycle
Maven lifecycleMaven lifecycle
Maven lifecycle
 
Apache Camel + Apache ActiveMQ persistence
Apache Camel + Apache ActiveMQ persistenceApache Camel + Apache ActiveMQ persistence
Apache Camel + Apache ActiveMQ persistence
 
Date & Time in Java SE 8
Date & Time in Java SE 8Date & Time in Java SE 8
Date & Time in Java SE 8
 

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