Saya mencoba mengemas proyek saya. Tapi, secara otomatis menjalankan tes sebelumnya melakukan kemasan. Tes memasukkan beberapa konten ke dalam basis data. Ini bukan yang saya inginkan, saya harus menghindari menjalankan tes saat paket aplikasi. Adakah yang tahu bagaimana menjalankan paket tanpa tes?
343
Jawaban:
Jalankan pakar dengan
sumber
-DskipTests
tetapi tidak berfungsi lagi, tahu mengapa?skipTests
lebih disukai daripada pengaturanmaven.test.skip
.Cukup berikan perintah yang disebutkan di bawah ini yang akan mengabaikan pelaksanaan kasus uji,
sumber
-DskipTests
tidak bekerja untuk saya ketika saya menggunakanmvn clean install -DskipTests
-DskipTests
sama dengan-Dmaven.test.skip.exec=true
stackoverflow.com/a/21933970/32453 dan ya itu mengkompilasi tes dan tidak menjalankannya (sedangkan-Dmaven.test.skip=true
tidak mengkompilasi)Anda dapat menambahkan konfigurasi plugin ini ke pom Anda jika Anda tidak ingin mengatur arg baris perintah:
sumber
Perhatikan bahwa -Dmaven.test.skip mencegah Maven membangun artefak test-jar.
Jika Anda ingin melewati tes tetapi membuat artefak sesuai penggunaan normal:
sumber
Jika Anda mencoba ini di Windows Powershell, Anda akan mendapatkan kesalahan ini:
Alasannya adalah, di Powershell "
-
" memiliki arti khusus dan itu menyebabkan masalah dengan pakar.Solusinya adalah dengan menambahkannya dengan backtick (`), seperti begitu ..
Referensi: http://kuniganotas.wordpress.com/2011/08/12/invalid-task-test-skiptrue-you-must-specify-a-valid-lifecycle-phase/
sumber
juga merupakan cara untuk menambahkan file pom
sumber
Anda bisa melewati
maven.test.skip
flag sebagai argumen JVM, untuk melewati tes yang berjalan ketika fase paket (dan yang sebelumnya dalam siklus hidup default) dijalankan:Anda juga dapat mengirimkan
skipTests
flag itu sendiri ke mvn yang dapat dieksekusi. Jika Anda ingin memasukkan informasi ini dalam POM Anda, Anda dapat membuat profil baru tempat Anda dapat mengkonfigurasimaven-surefire-plugin
untuk melewati tes .sumber
Anda hanya perlu menyediakan
Anda tidak perlu lagi menambahkan
=true
.sumber
Dalam Inllij IDEA ada opsi juga untuk melewati tujuan tes.
sumber
Menjawab pertanyaan lama dan diterima di sini. Anda dapat menambahkan ini di pom.xml Anda jika Anda ingin menghindari melewati argumen baris perintah setiap saat:
sumber
Anda dapat menambahkan salah satu
-DskipTests
atau-Dmaven.test.skip=true
kemvn
perintah apa pun untuk melewatkan tes. Dalam kasus Anda itu akan seperti di bawah ini:ATAU
sumber
Tes harus selalu [1] dijalankan sebelum paket. Jika Anda perlu mematikan tes, Anda melakukan sesuatu yang salah. Dengan kata lain, Anda mencoba menyelesaikan masalah yang salah. Cari tahu apa masalah Anda sebenarnya, dan ajukan pertanyaan itu. Sepertinya itu terkait dengan basis data.
[1] Anda mungkin melewatkan tes saat Anda perlu dengan cepat menghasilkan artefak untuk penggunaan lokal, pengembangan, tetapi secara umum, membuat artefak harus selalu mengikuti uji coba yang berhasil.
sumber
hanya
mvn clean install -DskipTests
sumber
Notasi singkat untuk melakukan tes pakar dan melewati tes adalah:
mvn bersih instal -DskipTests
sumber
Untuk paket pakar tanpa menginfeksi tes pakar:
sumber
Anda, tentu saja, melakukannya dengan cara yang salah. Pengujian adalah bagian penting dari pra-pengemasan. Anda tidak boleh mengabaikan atau melewatkannya, tetapi lakukan dengan cara yang benar. Coba ubah database tempat data dimasukkan (seperti test_db). Mungkin perlu beberapa saat untuk mengaturnya. Dan untuk memastikan bahwa basis data ini dapat digunakan selamanya, Anda harus menghapus semua data pada akhir tes. JUnit4 memiliki anotasi yang memudahkan Anda. Gunakan @Sebelum, @Setelah anotasi @Test untuk metode yang tepat. Anda perlu menghabiskan waktu untuk itu, tetapi itu akan sia-sia!
sumber
Di Intellij, buka Lihat -> Alat Windows -> pilih Proyek Maven. Pada dropdown Lifecyle, klik kanan pada paket -> pilih Buat 'proyek Anda [paket]' ...
Masukkan nilai ini:
package -Dmaven.test.skip=true -f pom.xml
di bidang baris perintah. Klik Terapkan dan menu tarik-turun Jalankan Konfigurasi akan muncul bersama dengan perintah pakar kustom yang Anda buat.sumber
mvn clean install -Dmaven.test.skip=true
bekerja untuk saya karena
-Dskip
tidak berfungsi lagi.sumber
sumber
Cara terbaik dan termudah untuk melakukannya, di IntelliJ Idea di jendela “Maven Project”, dan jangan klik tombol tes. Saya harap, saya membantu Anda. Semoga harimu menyenangkan :)
sumber