Maven'de test etme
Maven'in çalışmasındaki bir diğer önemli nokta da test aşamasıdır. test , package , valide veya bunlardan sonra gelen herhangi bir aşamayı çalıştırırsanız yürütülecektir .
Varsayılan olarak Maven, src/test/java/ klasöründeki tüm testleri çalıştıracaktır . Çalıştırılacak testleri diğer java dosyalarından ayırt etmek için bir adlandırma kuralı benimsenmiştir. Testler, adları "Test" ile başlayan ve "Test" veya "TestCase" ile biten java sınıflarıdır .
Test adlarının genel modeli:
- **/Test*.java
- **/*Test.java
- **/*TestCase.java
Bu testler, Junit veya TestNG test çerçevesine göre yazılmalıdır . Bunlar çok havalı çerçeveler, kesinlikle biraz sonra onlardan bahsedeceğiz.
.txt ve .xml biçimlerindeki raporlar biçimindeki test sonuçları, ${basedir}/target/surefire-reports dizinine kaydedilir.
Test kurulumu
Testleri çalıştırmak için genellikle birçok seçenek vardır, bu nedenle Maven geliştiricileri, testle ilgili tüm ayrıntılı bilgileri ayarlayabileceğiniz parametrelerde özel bir eklenti yaptılar. Eklentinin adı Maven Surefire Plugin'dir ve adresinde mevcuttur .
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<includes>
<include>Sample.java</include>
</includes>
</configuration>
</plugin>
</plugins>
Örnekte, eklentiye Sample.java adlı tek bir test sınıfı çalıştırması gerektiğini söyledik.
Bozuk testler nasıl hızlı bir şekilde ortadan kaldırılır
Projeyi test amacıyla çalıştırmak için mvn test komutunu çalıştırmanız gerekir. Ancak daha sıklıkla bazı testlerin test dışı bırakılmasına ihtiyaç vardır. Örneğin, bozulabilir, çalışması çok uzun sürebilir veya başka bir nedenle olabilir.
İlk olarak, Maven'e derleme aşamasını gerçekleştirirken testleri atlamasını söyleyebilirsiniz. Örnek:
mvn clean package -Dmaven.test.skip=true
İkincisi, eklenti yapılandırmasında testlerin yürütülmesini devre dışı bırakabilirsiniz:
<configuration>
<skipTests>true</skipTests>
</configuration>
Üçüncü olarak, testler <exclude> etiketi kullanılarak hariç tutulabilir . Örnek:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<excludes>
<exclude>**/TestFirst.java</exclude>
<exclude>**/TestSecond.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
GO TO FULL VERSION