Maven - Testleri çalıştırmadan nasıl derleyebilirim?


128

Maven'de testleri çalıştırmadan derlemenin bir yolu var mı? IDE'yi belirli testleri çalıştırmak için kullanmak istiyorum, hepsini değil.


8
Muhtemelen soruyu düzenlemelisiniz veya kabul edilen cevabı değiştirmelisiniz.
Chiranjib

Yanıtlar:


29

parametre kullanmayı deneyebilirsiniz -DskipTests

Referanslar:


Netbeans'da yaptığım şey buydu. Şu mvn'yi görüyorum -Dmaven.test.skip = true -Dnetbeans.execution = true clean install sonra şunu görüyorum
user373201

[compiler: testCompile] Test kaynakları derlenmiyor [surefire: test] Testler atlandı. En azından netbeans kullanarak testler
atlanırsa

1
boşver, günlükler bunu söylese bile, hala test dosyalarını derliyor gibi görünüyor.
user373201

34
bu, testlerin tamamen atlanmasına yol açar: yürütme ve derleme, aşağıdaki doğru yanıta bakın: test derleme. Eclipse
Yashima

3
@Yashima haklısınız bu aswer o kadar akıllı değil ... lütfen aşağıdaki cevabı kabul edin, böylece bir bunu silebilirsiniz
lweller

334

test-compileYaşam döngüsü aşaması nasıl olur ? Aşamadan önce meydana geldiği için herhangi bir test atlama gerektirmez test. yani,

$ mvn test-compile

Ve bitti.

Derleme Yaşam Döngüsüne giriş daha fazla bilgi verir.


7
Bu tam olarak ihtiyacım olan şeydi, teşekkürler. Asıl soruyu soran hakkında bilgim yok; ancak testleri derlemek ve ardından ayrı bir test çalıştırıcısı ile çalıştırmak istiyordum.
Mike Miller

Buraya itiraf ettiğimden daha sık geldim ...
Daniel Storch

31

Testleri ve kodu çalıştırmadan derlemek için şunları yapın:

mvn test-compile

7
Test derlemesinin derlemeyi içerdiğini düşünüyorum
Whimusical

@Whimusical ile aynı fikirde. Üstelik bu, derleme hedefini 2 kez çalıştıracaktır.
Gabriel Petrovay

26

Test aşamasını (paket gibi) içerecek bir hedefi yürütürken iki şey yapabilirsiniz:

  • Komutu kullanın mvn -DskipTests=true package. Bu, tüm testleri derler ancak çalıştırmaz.
  • Veya mvn -Dmaven.test.skip=true package. Bu, test dalını derlemez veya çalıştırmaz.

3

Alternatif olarak, maven.test.skip.execseçeneği kullanabilirsiniz .

mvn -Dmaven.test.skip.exec=true

Maven testleri çalıştırmadan derleyecektir. Bu seçeneği tüm projelerimde düzenli olarak kullanıyorum.



0

Settings.xml dosyanız varsa, şunu da kullanabilirsiniz:

<maven.test.skip>true</maven.test.skip>

5
Bunu asla yapmamalısın. İhtiyacınız olursa, komut satırında ayarlayın, ancak asla kalıcı olarak değil.
Sean Patrick Floyd

13
Asla yapman veya yapmamalısın demedim. Sadece seçenek hakkında bilgi veriyorum.
menapole

4
Bu da maven'in testleri derlememesine neden olur.
Mike Miller

3
@Sean Patrick Floyd: Neden olmasın? bu kalıcı DEĞİLDİR, bu onu pom.xml'de ayarlamak olacaktır.
Balázs Németh
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.