Maven - Bagaimana cara menyusun tes tanpa menjalankannya?


128

Apakah ada cara di Maven untuk menyusun tes tanpa menjalankannya? Saya ingin menggunakan IDE untuk menjalankan tes khusus dan tidak semuanya.


8
Anda mungkin harus mengedit pertanyaan atau mengubah jawaban yang diterima.
Chiranjib

Jawaban:


29

Anda dapat mencoba menggunakan parameter -DskipTests

Referensi:


Di netbeans, itulah yang saya lakukan. Saya melihat mvn -Dmaven.test.skip = true -Dnetbeans.execution = instalasi bersih yang benar kemudian saya melihat yang berikut
user373201

[kompiler: testCompile] Tidak mengkompilasi sumber tes [pasti: tes] Tes dilewati. Atleast menggunakan netbeans sepertinya jika tes dilewati itu tidak mengkompilasi sumber tes
user373201

1
Sudahlah, meskipun log mengatakan itu, sepertinya masih mengkompilasi file uji.
user373201

34
ini mengarah ke melewatkan tes sepenuhnya: pelaksanaan serta kompilasi, lihat jawaban yang benar di bawah ini: test-compile. Saya menggunakannya dengan mvn clean compile test-compile di Eclipse
Yashima

3
@Yashima Anda benar, aswer ini tidak terlalu pintar ... harap terima jawaban di bawah ini, jadi a dapat menghapus yang ini
lweller

334

Bagaimana dengan test-compilefase siklus hidup? Itu tidak memerlukan tes skipping, karena itu terjadi sebelum testfase. Yaitu,

$ mvn test-compile

Dan selesai.

Pengantar Siklus Hidup Bangun menjelaskan lebih lanjut.


7
Ini persis apa yang saya butuhkan, terima kasih. Saya tidak tahu tentang penanya asli; tapi saya ingin mengkompilasi tes, kemudian menjalankannya dengan test runner terpisah.
Mike Miller

Saya telah berada di sini lebih sering, daripada yang saya akui ...
Daniel Storch

31

Untuk hanya mengkompilasi tes dan kode, tanpa menjalankannya, lakukan saja:

mvn test-compile

7
Saya pikir test-compile termasuk kompilasi
Whimusical

setuju dengan @Whimusical. Apalagi ini akan menjalankan kompilasi tujuan 2 kali.
Gabriel Petrovay

26

Saat menjalankan tujuan yang akan menyertakan fase pengujian (seperti paket), Anda dapat melakukan dua hal:

  • Gunakan perintah mvn -DskipTests=true package. Ini akan mengkompilasi semua tes tetapi tidak menjalankannya.
  • Atau mvn -Dmaven.test.skip=true package. Ini tidak akan mengkompilasi atau menjalankan cabang uji.

3

Atau, Anda dapat menggunakan maven.test.skip.execopsi.

mvn -Dmaven.test.skip.exec=true

Maven akan menyusun tes tanpa menjalankannya. Saya menggunakan opsi ini di semua proyek saya secara teratur.



0

Jika Anda mengatur file .xml Anda juga dapat menggunakan

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

5
Anda seharusnya tidak pernah melakukan itu. Jika Anda membutuhkannya, atur di baris perintah, tetapi tidak pernah secara permanen.
Sean Patrick Floyd

13
Tidak pernah mengatakan Anda harus atau tidak seharusnya melakukannya. Hanya memberikan pengetahuan tentang opsi tersebut.
menapole

4
Ini menyebabkan pakar untuk tidak mengkompilasi tes, baik.
Mike Miller

3
@Sean Patrick Floyd: mengapa tidak? ini BUKAN permanen, itu akan mengaturnya di pom.xml.
Balázs Németh
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.