Sadece surefire testlerini atlamanın en basit yolunun surefire'ı ( ancak başarısız değil ) yapılandırmak olduğunu şu şekilde buldum :
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.14</version>
<configuration>
<!-- skips surefire tests without skipping failsafe tests.
Property value seems to magically default to false -->
<skipTests>${skip.surefire.tests}</skipTests>
</configuration>
</plugin>
Bu, mvn verify -Dskip.surefire.tests
güvenli çalışmanızı değil, sadece emin olmanızı sağlar , testler atlanır; entegrasyon öncesi ve entegrasyon dahil olmak üzere gerekli tüm diğer aşamaları da çalıştıracak ve entegrasyon testleriniz başarısız olursa verify
asıl derlemenizde gerçekten başarısız olması için gereken hedefi de çalıştıracaktır .
Bunun, testlerin atlanması gerektiğini belirtmek için kullanılan özelliği yeniden tanımladığını unutmayın; bu nedenle, kanonik veri sağlarsanız -DskipTests=true
, emin ateş bunu görmezden gelecektir, ancak başarısızlık buna saygı gösterecektir; Basit bir çözüm varsayılan olarak görünüyor skip.surefire.tests
değerine skipTests
sizin de <properties>
pom bölümünde:
<properties>
<skip.surefire.tests>${skipTests}</skip.surefire.tests>
</properties>
Gerekirse, skip.failsafe.tests
failsafe için adlandırılan benzer bir parametre sağlayabilir , ancak gerekli bulamadım - ünite testleri genellikle daha erken bir aşamada çalışır ve ünite testlerini çalıştırmak istiyorsam, entegrasyon testlerini yapmak istemiyorsam, test
yerine faz verify
fazı. Deneyimleriniz değişebilir!
Bu skip.(surefire|failsafe).tests
özellikler muhtemelen surefire / failsafe kodunun kendisine entegre edilmelidir, ancak "1 küçük fark dışında tam olarak aynı eklentidir" ethosunu ne kadar ihlal edeceğinden emin değilim.
maven.test.skip
yoksaskipTests
?