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.