Maven Surefire ve Maven Failsafe eklentileri arasındaki fark nedir?


Yanıtlar:


141

Basit bir deyişle, Failsafe eklentisi entegrasyon testlerini yürütmek , Surefire ise birim testlerini çalıştırmak için tasarlanmıştır .

Bu, Maven SSS bölümünde daha ayrıntılı açıklanmıştır :

  • maven-surefire-pluginbirim testleri çalıştırmak için tasarlanmıştır ve testlerden herhangi biri başarısız olursa derleme hemen başarısız olur.

  • maven-failsafe-plugintümleştirme testlerini çalıştırmak için tasarlanmıştır ve testlerin fiilen çalıştırılmasından kaynaklanan test hataları varsa, derlemede başarısız olanları ayırır.

    " Failsafe " adı hem kesin ateşin eşanlamlısı olduğu için hem de başarısız olduğunda bunu güvenli bir şekilde yaptığını ima ettiği için seçildi.

    Arıza güvenli Eklentisi iki amacı vardır:

Ayrıca bakınız:


4
İlginç soru, neden . Pek çok yapım aracı, bu tartışmalı olarak oldukça yapay ve sınırlı ayrım yapmadan mükemmel çalışır. Her iki eklentiyi birlikte yapılandırmak ve raporlarını tutarlı şekillerde özümsemek oldukça PITA'dır.
Raphael

Ve hayır, diğer cevaplarda belirtilen farklılıklar, filtreler ve işaretler olması gerekenler için birden fazla araca sahip olmak için yeterli neden sağlamaz.
Raphael

27

Gönderen https://maven.apache.org/surefire/maven-failsafe-plugin/ , ben Surefire ve emniyetli arasındaki fark başarısız yol olduğunu söyleyebilirim:

Testleri çalıştırmak için Surefire Eklentisini kullanırsanız, bir test başarısızlığınız olduğunda, derleme entegrasyon testi aşamasında durur ve entegrasyon testi ortamınız doğru şekilde bozulmaz.

Arıza Güvenliği Eklentisi, entegrasyon testi sırasında kullanılır ve bir uygulamanın entegrasyon testlerini yürütmek için yapı yaşam döngüsünün aşamalarını doğrular. Arıza Koruması Eklentisi, entegrasyon testi aşamasında derlemede başarısız olmayacak ve böylece entegrasyon testi sonrası aşamasının yürütülmesini sağlayacaktır.


2
O zaman soru şu olur: Bize yanlış bir durumda bırakabileceğini söylüyorlarsa neden Surefire'ı kullanasın?
user118967

6

Benim ülkemde, bu SSS'ye ulaşmak için "maven failsafe maven surefire" arandığında ikinci google sonucu: maven-failsafe-plugin ile maven-surefire-plugin arasındaki fark şu şekilde belirtiyor:

maven-surefire-eklentisi, birim testlerini çalıştırmak için tasarlanmıştır ve testlerden herhangi biri başarısız olursa, derleme anında başarısız olur.

maven-failsafe-plugin, entegrasyon testlerini çalıştırmak için tasarlanmıştır ve testlerin fiilen çalıştırılmasından kaynaklanan test hataları varsa derlemede başarısız olanları ayırır. "

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.