Melihat dokumentasi http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html , kita dapat melihat <scope>
tag di bawah<dependency>
Apa itu dan bagaimana kita bisa menggunakannya untuk menjalankan tes?
Melihat dokumentasi http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html , kita dapat melihat <scope>
tag di bawah<dependency>
Apa itu dan bagaimana kita bisa menggunakannya untuk menjalankan tes?
Jawaban:
The <scope>
elemen dapat mengambil 6 nilai-nilai: kompilasi , disediakan , runtime , tes , sistem dan impor .
Lingkup ini digunakan untuk membatasi transitivitas ketergantungan, dan juga untuk mempengaruhi classpath yang digunakan untuk berbagai tugas pembangunan.
menyusun
Ini adalah ruang lingkup default, digunakan jika tidak ada yang ditentukan. Kompilasi dependensi tersedia di semua jalan setapak proyek. Selain itu, dependensi tersebut disebarkan ke proyek dependen.
disediakan
Ini mirip kompilasi, tetapi menunjukkan Anda mengharapkan JDK atau wadah untuk memberikan dependensi saat runtime. Misalnya, saat membuat aplikasi web untuk Java Enterprise Edition, Anda akan mengatur ketergantungan pada Servlet API dan Java EE API terkait untuk cakupan yang disediakan karena wadah web menyediakan kelas-kelas tersebut. Cakupan ini hanya tersedia pada kompilasi dan test classpath, dan tidak transitif.
runtime
Lingkup ini menunjukkan bahwa dependensi tidak diperlukan untuk kompilasi, tetapi untuk eksekusi. Itu ada di runtime dan test classpath, tetapi tidak mengkompilasi classpath.
uji
Lingkup ini menunjukkan bahwa ketergantungan tidak diperlukan untuk penggunaan normal aplikasi, dan hanya tersedia untuk fase kompilasi dan eksekusi.
sistem
Lingkup ini mirip dengan yang disediakan kecuali bahwa Anda harus memberikan JAR yang berisi secara eksplisit. Artefak selalu tersedia dan tidak dicari dalam repositori.
impor (hanya tersedia di Maven 2.0.9 atau lebih baru)
Lingkup ini hanya digunakan pada ketergantungan tipe pom di bagian ini. Ini menunjukkan bahwa POM yang ditentukan harus diganti dengan dependensi di bagian POM itu. Karena mereka diganti, dependensi dengan cakupan impor tidak benar-benar berpartisipasi dalam membatasi transitivitas ketergantungan.
Untuk menjawab bagian kedua dari pertanyaan Anda:
Bagaimana kita bisa menggunakannya untuk menjalankan tes?
Perhatikan bahwa test
ruang lingkup memungkinkan untuk menggunakan dependensi hanya untuk fase uji.
Baca dokumentasi untuk detail lengkap.
Enam lingkup ketergantungan:
src/main
dansrc/test
src/test
<dependencyManagement/>
, hanya tersedia di Maven 2.0.9 atau lebih baruTag cakupan selalu digunakan untuk membatasi dependensi transitif dan ketersediaan jar di level jalur kelas. Jika kami tidak menyediakan lingkup apa pun maka lingkup default akan berfungsi yaitu Kompilasi .
Jika kami tidak menyediakan lingkup apa pun maka ruang lingkup standar dikompilasi, Jika Anda ingin mengonfirmasi, cukup buka tab pom Efektif di editor gerhana, itu akan menampilkan Anda sebagai kompilasi.