Rumah >Java >javaTutorial >Bagaimana untuk Menyelesaikan Ketergantungan Ujian dalam Konfigurasi Gradle Berbilang Projek?

Bagaimana untuk Menyelesaikan Ketergantungan Ujian dalam Konfigurasi Gradle Berbilang Projek?

Barbara Streisand
Barbara Streisandasal
2024-10-26 17:44:02845semak imbas

How to Resolve Test Dependencies in Multi-Project Gradle Configurations?

Menyelesaikan Ketergantungan Ujian dalam Konfigurasi Gradle Berbilang Projek

Apabila bekerja dengan binaan berbilang projek dalam Gradle, adalah penting untuk mewujudkan kebergantungan yang berkesan antara kod ujian merentas projek. Pertimbangkan senario di mana Projek A dan Projek B wujud, dengan Projek B bergantung pada komponen daripada Projek A.

Pernyataan Masalah

Dalam situasi ini, build.gradle untuk Projek B mungkin kelihatan seperti ini :

<code class="groovy">apply plugin: 'java'
dependencies {
  compile project(':ProjectA')
}</code>

Walau bagaimanapun, tugas compileTestJava gagal untuk menyusun kod ujian daripada Projek A. Ini menunjukkan jurang dalam konfigurasi yang diperlukan untuk mengakses kebergantungan ujian daripada projek lain.

Penyelesaian

Untuk menangani isu ini, build.gradle Projek B boleh dikemas kini dengan kebergantungan testCompile:

<code class="groovy">dependencies {
  ...
  testCompile project(':A').sourceSets.test.output
}</code>

Kebergantungan baharu ini memastikan kod ujian Projek B mempunyai akses kepada kelas ujian yang disusun daripada Projek A . Dengan menggunakan sourceSets.test.output, Gradle menyelesaikan direktori output tempat kelas ujian diletakkan semasa binaan.

Konfigurasi ini telah berjaya diuji dengan Gradle 1.7. Sila ambil perhatian bahawa untuk Gradle versi 5.6 dan ke atas, penyelesaian yang berbeza diperlukan dan didokumenkan secara berasingan.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ketergantungan Ujian dalam Konfigurasi Gradle Berbilang Projek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn