আমার একটি মাল্টি-মডিউল মাভেন প্রকল্প রয়েছে। এই উদাহরণের জন্য, দুটি মডিউল বিবেচনা করুন:
data
consumer
consumer
মডিউলটির মডিউল রয়েছেdata
নির্ভরতা হিসাবে ।
মডিউল data
কোর ক্লাসগুলির একটি গুচ্ছ ঘোষণা করে। src/test
তাদের ব্যবহারের অধীনে পরীক্ষা রয়েছে । এই পরীক্ষাগুলির জন্য কিছু দীর্ঘ-বায়ুযুক্ত অবজেক্ট তৈরির প্রয়োজন হয়, সুতরাং এই বিষয়গুলি তৈরি করতে আমার কিছু ইউটিলিটি পদ্ধতি সহ একটি বর্গ রয়েছে। এই ইউটিলিটি ক্লাসটি ( SampleDataHelper
) রয়েছেsrc/test
শ্রেণিবিন্যাসে রয়েছে।
আমারও consumer
মডিউলে কিছু পরীক্ষা আছে যার জন্য এইগুলি দীর্ঘ-বায়ুযুক্ত কিছু তৈরি করতে হবে। আমি আমার গাছে থাকা পরীক্ষাগুলিতে আমার SampleDataHelper
ক্লাসটি (সংজ্ঞায়িত data src/test
) ব্যবহার করতে চাই consumer src/test
। দুর্ভাগ্যক্রমে, যদিও এর data
নির্ভরতা consumer
,consumer
ক্লাস অধীনে অস্তিত্ব দেখতে পায় না data src/test
।
এটিকে মোকাবেলায়, আমি ভেবেছিলাম আমি অন্য একটি মডিউল তৈরি করতে পারি ( data-test
), এবং SampleDataHelper
এটির অধীনে চলে যেতে পারি src/main
। তারপরে আমি এর পরীক্ষার স্কোপ নির্ভরতা data-test
হিসাবে অন্তর্ভুক্ত করব । দুর্ভাগ্যক্রমে, এটি একটি বিজ্ঞপ্তি নির্ভরতা: ব্যবহার করে , এছাড়াও প্রয়োজন ।data
data
data-test
data-test
data
আমি যে সমাধানটি নিয়ে এসেছি তা হ'ল এর SampleDataHelper
অধীনে রাখাdata src/main
একটি অধীনে test
প্যাকেজ এবং আশাবাদ ব্যক্ত করেন যে কোনো সত্যিকারের আবেদন কোড কখনো এটা কল।
আমি আমার SampleDataHelper
ক্লাসটিকে মডিউলগুলির মধ্যে না রেখে কীভাবে ভাগ করতে পারি src/main
?
data
consumer
mvn package
, কিন্তু এটা একটা একক পদক্ষেপ Build এ ঠিক সূক্ষ্ম কাজ করা উচিত যখন আপনি ব্যবহার mvn install
বা mvn deploy
। শুধু একটি দ্রুত নোট। আমাদের বড় প্রকল্পগুলির একটিতে আমাদের জুনিটের উপর একটি মোড়ক রয়েছে TestBase
এবং এটি অবস্থিত src/main
যেখানে আমি কোনও ভাল ধারণাও মনে করি না।