Junit5'de birim testleri ve entegrasyon testleri nasıl paralel çalıştırılır?



JUnit 5'de birim testlerini ve entegrasyon testlerini paralel çalıştırmak için aşağıdaki adımları izleyebilirsiniz:

Maven veya Gradle Yapılandırması

JUnit 5'de paralel test çalıştırma özelliklerini kullanabilmek için Maven veya Gradle yapılandırmanızı güncellemeniz gerekebilir.

Maven

Maven kullanıyorsanız, maven-surefire-plugin ve maven-failsafe-plugin eklentilerini yapılandırmanız gerekiyor.

pom.xml:

xml
<project> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M5</version> <configuration> <parallel>methods</parallel> <useUnlimitedThreads>true</useUnlimitedThreads> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>3.0.0-M5</version> <configuration> <parallel>methods</parallel> <useUnlimitedThreads>true</useUnlimitedThreads> </configuration> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ... </project>

Gradle

Gradle kullanıyorsanız, test ve integrationTest görevlerini paralel çalışacak şekilde yapılandırabilirsiniz.

build.gradle:

groovy
plugins { id 'java' } repositories { mavenCentral() } dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0' } test { useJUnitPlatform() maxParallelForks = Runtime.runtime.availableProcessors() } task integrationTest(type: Test) { useJUnitPlatform() shouldRunAfter test maxParallelForks = Runtime.runtime.availableProcessors() testClassesDirs = sourceSets.integrationTest.output.classesDirs classpath = sourceSets.integrationTest.runtimeClasspath } sourceSets { integrationTest { compileClasspath += sourceSets.main.output + sourceSets.test.output runtimeClasspath += sourceSets.main.output + sourceSets.test.output } } configurations { integrationTestImplementation.extendsFrom testImplementation integrationTestRuntimeOnly.extendsFrom testRuntimeOnly }

JUnit 5 Konfigürasyonu

JUnit Platform Properties

JUnit 5'de paralel çalıştırma ayarlarını junit-platform.properties dosyasında yapabilirsiniz.

src/test/resources/junit-platform.properties:

properties
junit.jupiter.execution.parallel.enabled = true junit.jupiter.execution.parallel.mode.default = concurrent junit.jupiter.execution.parallel.config.strategy = dynamic

Bu ayarlar, JUnit 5 testlerini paralel olarak çalıştırmak için gerekli konfigürasyonları sağlar.

Testlerin Ayrılması

Birim testleri ve entegrasyon testlerini ayırmak için genellikle farklı paketler veya adlandırma kuralları kullanılır.

  • Birim testleri için src/test/java dizinini kullanabilirsiniz.
  • Entegrasyon testleri için src/integrationTest/java gibi ayrı bir dizin oluşturabilirsiniz.

Bu yapılandırmalarla birlikte JUnit 5 testlerini paralel olarak çalıştırabilir ve test süresini kısaltabilirsiniz.

Please Select Embedded Mode To Show The Comment System.*

Daha yeni Daha eski

نموذج الاتصال