Bagaimana Anda bisa bergantung pada kode tes dari modul lain di Maven?
Contoh, saya punya 2 modul:
- Mendasarkan
- Utama
Saya ingin test case di Main untuk memperpanjang kelas tes basis di Base. Apakah ini mungkin?
Pembaruan: Menemukan jawaban yang dapat diterima , yang melibatkan pembuatan tabung percobaan.
Jawaban:
Saya sarankan menggunakan tipe bukan classifier (lihat juga: classifier ). Ini memberi tahu Maven sedikit lebih eksplisit apa yang Anda lakukan (dan saya telah menemukan bahwa m2eclipse dan q4e keduanya lebih menyukainya).
sumber
Terima kasih atas saran modul dasar. Namun, saya lebih suka tidak membuat modul baru hanya untuk tujuan ini.
Menemukan jawaban yang dapat diterima dalam dokumentasi Surefire Maven dan sebuah blog . Lihat juga " Cara membuat tabung berisi kelas tes ".
Ini menciptakan file jar kode dari
src/test/java
menggunakan plugin jar sehingga modul dengan tes dapat berbagi kode.Untuk menggunakan JAR tes terlampir yang dibuat di atas, Anda cukup menentukan ketergantungan pada artifak utama dengan pengelompokan tes yang ditentukan:
sumber
Kami menyelesaikan ini dengan membuat proyek pakar dengan kode uji sebagai src / main / java dan menambahkan ketergantungan berikut ke proyek:
sumber
Yap ... sertakan saja modul Base sebagai dependensi di Main. Jika Anda hanya mewarisi kode uji, maka Anda dapat menggunakan tag lingkup untuk memastikan Maven tidak memasukkan kode dalam artefak Anda saat digunakan. Sesuatu seperti ini seharusnya bekerja:
sumber