@ স্টিভ সি এবং @ অ্যাশোসবার্ন 1 দ্বারা প্রদত্ত বিকল্পগুলির মধ্যে পার্থক্য এবং প্রতিবন্ধকতা রয়েছে। তাদের অবশ্যই নির্দিষ্ট করা উচিত, আমি বিশ্বাস করি।
আমরা যখন ব্যবহার করতে পারেন করতে পারেন: File resourcesDirectory = new File("src/test/resources");
?
- 1 যখন পরীক্ষাগুলি কেবল মেভেনের মাধ্যমে চালানো হয় তবে আইডিইয়ের মাধ্যমে নয়।
- ২.১ যখন টেস্টগুলি মেভেন বা মাধ্যমে চালানো হবে
- আইডিই এর মাধ্যমে ২.২ এবং আইডিইতে কেবল একটি প্রকল্প আমদানি করা হয়। (আমি "আমদানি" শব্দটি ব্যবহার করি, কারণ এটি ইন্টেলিজ আইডিইএতে ব্যবহৃত হয় I আমি মনে করি গ্রহনের ব্যবহারকারীরাও তাদের মভেন প্রকল্পটি আমদানি করে)। এটি কাজ করবে, আপনি যখন আইডিইর মাধ্যমে পরীক্ষা চালান তখন আপনার প্রকল্পের মতোই কাজ করার ডিরেক্টরি তৈরি করে।
- ৩.১ যখন টেস্টগুলি মেভেন বা মাধ্যমে চালানো হবে
- আইডিই এর মাধ্যমে ৩.২, এবং একাধিক প্রকল্প আইডিইতে আমদানি করা হয় (যখন আপনি ছাত্র নন, আপনি সাধারণত বেশ কয়েকটি প্রকল্প আমদানি করেন) এবং আইডিইর মাধ্যমে পরীক্ষা চালানোর আগে আপনি নিজের পরীক্ষার জন্য ওয়ার্ক ডিরেক্টরিটি কনফিগার করেন। এই কার্যনির্বাহী ডিরেক্টরিতে আপনার আমদানিকৃত প্রকল্পের উল্লেখ করা উচিত যা পরীক্ষাগুলি ধারণ করে। ডিফল্টরূপে, আইডিইতে আমদানি করা সমস্ত প্রকল্পের ওয়ার্কিং ডিরেক্টরি কেবল একটি। সম্ভবত এটি কেবলমাত্র একটি সীমাবদ্ধতা
IntelliJ IDEA
, তবে আমি মনে করি সমস্ত আইডিই এটির মতো কাজ করে। এবং এই কনফিগারেশনটি ম্যানুয়ালি করতে হবে, এটি মোটেই ভাল নয়। বিভিন্ন মভেন প্রকল্পে বিদ্যমান কয়েকটি পরীক্ষার সাথে কাজ করা, তবে একটি বড় "আইডিই" প্রকল্পে আমদানি করা, আমাদের এটি মনে রাখতে বাধ্য করুন এবং আপনার কাজটি থেকে শিথিল হতে এবং আনন্দ পেতে অনুমতি দেবেন না।
@ Ashosborne1 দ্বারা প্রদত্ত সমাধানটির জন্য (ব্যক্তিগতভাবে আমি এটিকে পছন্দ করি) আপনার আরও 2 টি প্রয়োজনীয় প্রয়োজনীয়তা যা আপনার পরীক্ষা চালানোর আগে করা উচিত। এই সমাধানটি ব্যবহারের জন্য পদক্ষেপের একটি তালিকা এখানে রয়েছে:
“এসসিআর / টেস্ট / রিসোর্স /” এর অভ্যন্তরে একটি পরীক্ষা ফোল্ডার ("তেভা") এবং ফাইল ("রিডমি") তৈরি করুন:
src / পরীক্ষা / সম্পদ / teva / রিডমি
ফাইলটি অবশ্যই টেস্ট ফোল্ডারে তৈরি করতে হবে, অন্যথায় এটি কাজ করবে না। মাভেন খালি ফোল্ডারগুলি উপেক্ষা করে।
কমপক্ষে একবার প্রকল্পের মাধ্যমে বিল্ড করুন mvn clean install
। এটি পরীক্ষাও চালাবে। পুরো প্রকল্পটি তৈরি না করেই কেবল আপনার পরীক্ষার শ্রেণি / পদ্ধতিটি ম্যাভেনের মাধ্যমে চালানো যথেষ্ট। ফলস্বরূপ আপনার পরীক্ষার সংস্থানগুলি পরীক্ষার শ্রেণিতে অনুলিপি করা হবে, এখানে একটি পথ:target/test-classes/teva/readme
এর পরে, আপনি @ ashosborne1 দ্বারা ইতিমধ্যে প্রস্তাবিত কোড ব্যবহার করে ফোল্ডারটি অ্যাক্সেস করতে পারেন (দুঃখিত, আমি এই আইটেমের তালিকার ভিতরে এই কোডটি সঠিকভাবে সম্পাদনা করতে পারিনি):
public static final String TEVA_FOLDER = "teva"; ...
URL tevaUrl = YourTest.class.getClassLoader().getResource(TEVA_FOLDER);
String tevaTestFolder = new File(tevaUrl.toURI()).getAbsolutePath();
এখন আপনি যতবার চান IDE এর মাধ্যমে আপনার পরীক্ষা চালাতে পারেন। যতক্ষণ না আপনি এমভিএন ক্লিন চালান। এটি লক্ষ্যযুক্ত ফোল্ডারটি ফেলে দেবে।
আইডিই এর মাধ্যমে পরীক্ষা চালানোর আগে একটি টেস্ট ফোল্ডারের ভিতরে ফাইল তৈরি করা এবং প্রথমবার মাভেন চালানো দরকার পদক্ষেপগুলির প্রয়োজন। এই পদক্ষেপগুলি ব্যতীত, আপনি যদি কেবলমাত্র আপনার আইডিইতে পরীক্ষার সংস্থান তৈরি করেন, তবে পরীক্ষা লিখুন এবং এটি কেবল আইডিই এর মাধ্যমে চালান, আপনি একটি ত্রুটি পাবেন। এমভিএন এর মাধ্যমে পরীক্ষা চালানো পরীক্ষার সংস্থানগুলিকে লক্ষ্য / পরীক্ষার-ক্লাস / তেভা / রেডমিমে অনুলিপি করে এবং তারা শ্রেণিবদ্ধের জন্য অ্যাক্সেসযোগ্য হয়ে ওঠে।
আপনি জিজ্ঞাসা করতে পারেন, আইডিইতে আমার কেন একাধিক মভেন প্রকল্প আমদানি করা দরকার এবং এত জটিল জিনিস কেন? আমার জন্য, অন্যতম প্রধান অনুপ্রেরণা: আইডিএ সম্পর্কিত ফাইলগুলি কোড থেকে দূরে রাখা। আমি প্রথম আমার আইডিইতে একটি নতুন প্রকল্প তৈরি করি। এটি একটি জাল প্রকল্প, এটি আইডিই সম্পর্কিত ফাইলগুলির একটি ধারক মাত্র। তারপরে, আমি ইতিমধ্যে বিদ্যমান মেভেন প্রকল্পগুলি আমদানি করি। আমি এই আমদানি করা প্রকল্পগুলিকে আইডিইএ ফাইলগুলি কেবলমাত্র আমার মূল জাল প্রকল্পে রাখতে বাধ্য করি। ফলস্বরূপ আমি কোডের মধ্যে আইডিই সম্পর্কিত ফাইলগুলি দেখতে পাচ্ছি না। এসভিএন তাদের দেখতে পাবে না (দয়া করে এই জাতীয় ফাইলগুলি উপেক্ষা করার জন্য এসএনএন / গিট কনফিগার করার প্রস্তাব দিবেন না)। এছাড়াও এটি ঠিক খুব সুবিধাজনক।