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