Maven'de Hızlı Test Optimizasyonu: Erken Başarısızlık ile Test Sürecinizi Nasıl Hızlandırırsınız?



Maven'de önce hızlı testleri çalıştırmak ve erkenden fail alarak test sürecini hızlandırmak için testlerinizi gruplara ayırabilir ve bu grupları farklı Maven profilleri altında çalıştırabilirsiniz. Genellikle, hızlı testler unit olarak, daha uzun süren testler ise integration olarak etiketlenir. Bu şekilde, önce hızlı testleri çalıştırabilir ve bu testlerden herhangi biri başarısız olursa süreci durdurabilirsiniz.

İşte Maven yapılandırmasını bu amaca yönelik olarak nasıl ayarlayabileceğinizin bir örneği:

Adım 1: Testleri Gruplara Ayırma

Testlerinizi gruplara ayırmak için JUnit veya TestNG kullanabilirsiniz. Örneğin, JUnit 4 kullanıyorsanız, testlerinizi şu şekilde gruplandırabilirsiniz:

Hızlı Test (Unit Test)


import org.junit.experimental.categories.Category; import org.junit.Test; @Category(UnitTest.class) public class MyUnitTest { @Test public void testSomethingQuick() { // Hızlı test kodu } }

Yavaş Test (Integration Test)


import org.junit.experimental.categories.Category; import org.junit.Test; @Category(IntegrationTest.class) public class MyIntegrationTest { @Test public void testSomethingSlow() { // Yavaş test kodu } }

Adım 2: Maven Profilleri Oluşturma

pom.xml dosyanızda profilleri tanımlayarak bu test gruplarını çalıştırabilirsiniz.


<project> ... <profiles> <!-- Hızlı testler için profil --> <profile> <id>fast-tests</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M5</version> <configuration> <includes> <include>**/*Test.class</include> </includes> <excludedGroups>IntegrationTest</excludedGroups> </configuration> </plugin> </plugins> </build> </profile> <!-- Yavaş testler için profil --> <profile> <id>slow-tests</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>3.0.0-M5</version> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> <configuration> <groups>IntegrationTest</groups> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>

Adım 3: Testleri Çalıştırma

Önce hızlı testleri çalıştırmak için aşağıdaki komutu kullanabilirsiniz:


mvn clean test -Pfast-tests

Eğer hızlı testler geçerse, yavaş testleri çalıştırmak için aşağıdaki komutu kullanabilirsiniz:


mvn verify -Pslow-tests

Bu şekilde, önce hızlı testleri çalıştırarak erken bir hata tespit ederseniz tüm süreci durdurabilirsiniz, bu da test sürecinizi hızlandıracaktır.

Please Select Embedded Mode To Show The Comment System.*

Daha yeni Daha eski

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