Стратегии выполнения   тестов в Gradle    ilya.lapitan@gmail.com
Пример конфигурации:apply plugin:javatest{   include org/tests/**   forEvery 1   maxParallelForks 2}
forkEvery Mмаксимальное количество      M тестовыхклассов, которые будут запущены в текущемпроцессе. При достижении максим...
maxParallelForks Nмаксимальное количество N процессов JVMв которых будут запущены тестовые классы.Стандартное значение:1вс...
Стратегии выполнения:выделим стратегии выполнения тестовисходя из расмотренных ранее свойств,аименно количества выполняемы...
Стратегии выполнения:1.последовательно,без создания новыхпроцессов JVM (стандартное выполнение)forkEvery 0maxParallelFork ...
Выделим следующие стратегии:3.параллельно,без создания новыхпроцессов JVMforkEvery 0maxParallelFork N4.параллельно, с созд...
Тестовый набор:   A1    A2    A3   тестовые классы пакета А   B1    B2    B3   тестовые классы пакета B   C1    C2    C3  ...
forkEvery 0 (default)maxParallelFork 1 (default)   A1   A2         B1         C1         C3   PID:1             ...       ...
forkEvery 3maxParallelFork 1 (default)   A1         A3                                   PID:1        ...                 ...
forkEvery 0 (default)maxParallelFork 2    A1   A2    B2   C1        PID:1                              Thread 1    A3   B1...
forkEvery 3maxParallelFork 2   A1   A2   B2                    PID:1                                   Thread 1   A3   B1 ...
Upcoming SlideShare
Loading in …5
×

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

1,137 views
1,063 views

Published on

Gradle configurations for running tests.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,137
On SlideShare
0
From Embeds
0
Number of Embeds
446
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Стратегии выполнения тестов в Gradle ilya.lapitan@gmail.com
  2. 2. Пример конфигурации:apply plugin:javatest{ include org/tests/** forEvery 1 maxParallelForks 2}
  3. 3. forkEvery Mмаксимальное количество M тестовыхклассов, которые будут запущены в текущемпроцессе. При достижении максимальногоколичества запущенных классов, создаетсяновый процесс JVM.Стандартное значение:0тесты выполняются в одном процессе JVM
  4. 4. maxParallelForks Nмаксимальное количество N процессов JVMв которых будут запущены тестовые классы.Стандартное значение:1все тесты выполняются в одном процессеJVM последовательно
  5. 5. Стратегии выполнения:выделим стратегии выполнения тестовисходя из расмотренных ранее свойств,аименно количества выполняемых тестов водном процессе(forkEvery) и количестваодновременного запускуемых процессов(maxParallelFork).
  6. 6. Стратегии выполнения:1.последовательно,без создания новыхпроцессов JVM (стандартное выполнение)forkEvery 0maxParallelFork 12.последовательно, с созданием новыхпроцессов JVMforkEvery MmaxParallelFork 1
  7. 7. Выделим следующие стратегии:3.параллельно,без создания новыхпроцессов JVMforkEvery 0maxParallelFork N4.параллельно, с создание новых процессовJVMforkEvery MmaxParallelFork N
  8. 8. Тестовый набор: A1 A2 A3 тестовые классы пакета А B1 B2 B3 тестовые классы пакета B C1 C2 C3 тестовые классы пакета CPID - номер процесса в котором выполняются тестовыеклассыThread - процесс в котором выполняются тестовыеклассы
  9. 9. forkEvery 0 (default)maxParallelFork 1 (default) A1 A2 B1 C1 C3 PID:1 ... ... ... Thread 1
  10. 10. forkEvery 3maxParallelFork 1 (default) A1 A3 PID:1 ... Thread 1 B1 B3 PID:2 ... Thread 1 C1 C3 PID:3 ... Thread 1
  11. 11. forkEvery 0 (default)maxParallelFork 2 A1 A2 B2 C1 PID:1 Thread 1 A3 B1 B3 C2 C3 PID:2 Thread 2
  12. 12. forkEvery 3maxParallelFork 2 A1 A2 B2 PID:1 Thread 1 A3 B1 B3 PID:2 Thread 2 C1 C2 C3 PID:3 Thread 2

×