একসাথে একাধিক মডিউল থেকে ইন্টেলিজ আইডিইএতে ইউনিট পরীক্ষা চালান


89

আমি কীভাবে একবারে দুটি বা ততোধিক আইডিইএ মডিউল থেকে সমস্ত পরীক্ষা চালাতে পারি?

আমি অনেকগুলি মডিউল ব্যবহার করছি এবং ইউনিট পরীক্ষাগুলি প্রায়শই চালানো গুরুত্বপূর্ণ এবং যখন আমি চালনার জন্য একাধিক ফোল্ডার বেছে নিই, প্রসঙ্গ মেনুতে আর কোনও 'রান' বিকল্প নেই।

উত্তর:


115

সেরা উপায় উপায়: (3 বছর পরে সম্পাদনা করুন)

এটি অর্জনের আরও ভাল উপায় আছে।

  1. মেনু "চালান" নির্বাচন করুন Config "কনফিগারেশন সম্পাদনা করুন ..."। বাম উপরের কোণে সবুজ প্লাস ক্লিক করুন এবং JUnit নির্বাচন করুন।

  2. "প্যাটার্ন" তে "পরীক্ষার ধরণ" নির্বাচন করুন এবং আপনি যেমন দেখেন ঠিক তেমনই এই রেজিপ্স্টটি প্রবেশ করুন: ^(?!.*IT$).*$(এটি ক্যারেট দিয়ে শুরু হয় ^এবং ডলার দিয়ে শেষ হয় $)। এই রিজএক্সপক্স বলেছেন: সমস্ত পরীক্ষাগুলি যা তাদের নামে আইটি দিয়ে শেষ হয় না

  3. "পরীক্ষায় সন্ধান করুন" থেকে "পুরো প্রকল্পে" নির্বাচন করুন। ওয়ার্কিং ডিরেক্টরি শীর্ষ মডিউল ওয়ার্কিং ডিরেক্টরিতে সেট করা উচিত (এটি ডিফল্টরূপে সেট করা উচিত)।

  4. "সমস্ত ইউনিট পরীক্ষা" এর মতো আপনার পরীক্ষার জন্য একটি নাম লিখুন। আমি "ভাগ" বিকল্পটি চিহ্নিত করতেও পছন্দ করি যাতে এই কনফিগারেশনটি পরে অদৃশ্য হয় না। প্রয়োগ করুন এবং ঠিক আছে ক্লিক করুন।

আপনার প্রয়োজন অনুসারে আপনি এই রেজিএক্সপ্যাকের সাথে পরীক্ষা করতে পারেন।

আসল উত্তর:

এটি করণীয়, যদিও এটি আরামদায়ক নয়।

  1. প্রথম মডিউলটি নির্বাচন করুন, test/javaডিরেক্টরিতে ডান ক্লিক করুন এবং "সমস্ত পরীক্ষা চালান"। এটি পরীক্ষার কনফিগারেশন তৈরি করে।
  2. "কনফিগারেশন সম্পাদনা করুন" নির্বাচন করুন এবং নতুন নির্মিত কনফিগারেশনে "ভাগ করুন" পরীক্ষা করুন যাতে এটি সংরক্ষণ করা হবে।
  3. এটিতে দ্বিতীয় মডিউলটি "সমস্ত পরীক্ষা চালান" নির্বাচন করুন এবং পাশাপাশি এই কনফিগারেশনে "ভাগ করুন" পরীক্ষা করুন।
  4. "আরম্ভের আগে" বিভাগে, "+" ক্লিক করুন এবং "অন্য কনফিগারেশন চালান" নির্বাচন করুন এবং তারপরে প্রথম মডিউলটির কনফিগারেশন নির্বাচন করুন।

আপনি ক্রমিকভাবে কনফিগারেশন চালিয়ে যান এবং প্রতিটি কনফিগারেশন একটি নতুন ট্যাব পায়। এখনও, কিছুই চেয়ে ভাল।


ধন্যবাদ! এতদূর পরিষ্কার পথ। 3 বছরের পরে এটি অর্জনের আরও ভাল কোনও উপায় আছে কিনা তা ভাবছেন :)
কোডারস্পিনোজা

ধন্যবাদ! আপনি আমার সময় বাঁচিয়েছেন এবং একাধিক কাভারেজ রিপোর্ট জেনারেশন এবং ইউনিটযুক্ত কেস রানার সমস্যা উভয়ই এক শটে সমাধান করার পক্ষে এটি এখনও সবচেয়ে চালাক ।
ফি

আমি মাত্র একটি ভাল সমাধান @ কোডারস্পিনোজা
টমাসজ কালকোসিস্কি

11
আপডেট হওয়া সংস্করণটি এতটা ভাল নয় , যদি আপনার পরীক্ষার কেসগুলি রান-সময় চলাকালীন মডিউল নির্দিষ্ট সংস্থান ব্যবহার করে - তবে আমি মূল সমাধানটি পছন্দ করি।
ফি

আমার গ্রেডল নির্ভরতাগুলি সম্মান করার জন্য আমি এই কনফিগারেশনটি কীভাবে পাব? এখন এটি পেয়ারা থেকে হারিয়ে যাওয়া ক্লাসে ব্যর্থ। একটি একক মডিউল পরীক্ষা চালানোর সময়, এটি ঠিক কাজ করে।
উয়র্ন

22

আপনাকে একটি "রান কনফিগারেশন" তৈরি করতে হবে:

  1. উপরের ড্রপডাউনটিতে "মেক" বোতামের ডানদিকে যান এবং এটিতে ক্লিক করুন
  2. "কনফিগারেশন সম্পাদনা করুন" নির্বাচন করুন
  3. নতুন রান কনফিগারেশন যুক্ত করতে এখন "+" বোতামে ক্লিক করুন এবং JUnit নির্বাচন করুন
  4. তারপরে, "রান কনফিগারেশন" কনফিগার করার সময়, আপনি একটি "পরীক্ষার ধরণ" ড্রপডাউন পাবেন, "ডিরেক্টরিতে সমস্ত বিভাগ" নির্বাচন করুন
  5. রুট হিসাবে আপনি যে ডিরেক্টরিটি ব্যবহার করতে চান তা নির্বাচন করুন, আপনি আপনার প্রকল্পের জন্য শীর্ষ স্তরের ডিরেক্টরি বা আপনার মডিউলগুলির জন্য যে কোনও ডিরেক্টরি চয়ন করতে পারেন।
  6. ক্লাসপথটি বাছাই করা কোথা থেকে ইন্টেলিজিউডি মডিউলটি নির্বাচন করুন (এটির ক্লাসপথ থাকলে এটি শীর্ষ স্তরের প্রকল্প হতে পারে)

টিপটির জন্য ধন্যবাদ, যদিও এটি সমস্যার সমাধান করে না। সঠিক উপায়টি হ'ল কেবল একটি নয়, বেশ কয়েকটি ডায়ার নির্বাচন করা। পার্সেন্টাল সলিউশন হ'ল প্যাটার্নগুলি ব্যবহার করা, তবে এখনও প্যাকেজটিকেই নকশা করতে পারে,
ডায়ার্স

15
"পরীক্ষার ধরণ" এ "সমস্ত ইন প্যাকেজ" চয়ন করুন এবং তারপরে "পুরো প্রকল্পে" চেকবক্সটি চয়ন করুন। যা সমস্ত মডিউলগুলিতে পরীক্ষা চালাবে।
মার্টিন ওধেলিয়াস

4
আমি প্রতিটি মডিউলটিকে তার নিজস্ব মডিউল দির সাথে চলমান ডিরেক্টরি হিসাবে চালিত করতে চাই - এটি পুরো জিনিসটির জন্য একটি একক মডিউল দির ব্যবহার করা সম্ভব বলে মনে হয় না।
বেকার

@ মার্টিন ওডেলিয়াস এটাই এখন পর্যন্ত সবচেয়ে পরিষ্কার সমাধান
হেমিল

10

সমস্ত মডিউল নির্বাচন করুন, তাদের ডান ক্লিক করুন এবং সমস্ত পরীক্ষা চালানোর জন্য চয়ন করুন। এটি "পুরো প্রকল্প" নামে একটি কনফিগারেশন তৈরি করবে যা আপনি যে কোনও সময় আবার চালাতে পারবেন।

আমি এটি গ্রহণযোগ্য উত্তরের চেয়ে আরও ভাল পেয়েছি কারণ এটি প্রতিটি মডিউলের জন্য পৃথকভাবে ইউনিট পরীক্ষা করে। যদি আপনার পরীক্ষার কেসগুলি রান-টাইমের সময় মডিউল-নির্দিষ্ট সংস্থান ব্যবহার করে তবে স্বীকৃত উত্তরের সর্বোত্তম উপায় কাজ করবে না।

সমস্ত মডিউল নির্বাচন করুন

সমস্ত মডিউল নির্বাচন করুন

ডান ক্লিক করুন এবং সমস্ত পরীক্ষা চালানোর জন্য চয়ন করুন

ডান ক্লিক করুন এবং সমস্ত পরীক্ষা চালানোর জন্য চয়ন করুন

একটি নতুন রান কনফিগারেশন পান

একটি নতুন রান কনফিগারেশন পান


প্রথম ধাপে একাধিক মডিউল নির্বাচন করা যথেষ্ট।
ব্যবহারকারী 7610

4
আমার মতে এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। আমার কাছে কেবল রিজার্ভেশন হ'ল "সবচেয়ে সহজ" শব্দটি ব্যবহার করা। দুর্ভাগ্যক্রমে ইন্টেলিজের সাথে রান কনফিগারেশন সম্পর্কে সহজ কিছু নেই। কনফিগারেশন সহ সাধারণ কাজগুলি করার অনেকগুলি উপায় রয়েছে এবং সাধারণত কোনও কাজ, যদি কোনও কাজ হয়। সুতরাং আপনার কাজটি প্রায়শই কাজ করে এমন একের জন্য অনুসন্ধান করতে বিভিন্ন বিকল্পের মাধ্যমে পুনরাবৃত্তি হয়। মোটেও সহজ নয়।
ডেভিড স্যাকস্টেইন

যদিও আমি মডিউলগুলির একটি ছোট ভগ্নাংশটি নির্বাচন করছি, এটি প্রকল্পের (পুরো প্রকল্প) সমস্ত পরীক্ষা চালায় । এটা আমি চাই না। আমার ক্ষেত্রে সমস্ত মডিউলগুলি একটি সাধারণ প্যাকেজ ভাগ করে নেওয়ার জন্য পরীক্ষা চালাতে চাই, সুতরাং আমি ফলিত 'পুরো প্রকল্প' কনফিগারেশন সম্পাদনা করতে এবং প্যাকেজটি যুক্ত করতে সক্ষম হয়েছি, যা কেবলমাত্র মডিউলগুলির সাবসেটের জন্য পরীক্ষা চালানোর জন্য ফিল্টার করে।
অ্যালবার্ট ভিলা ক্যালভো

5

আমার জন্য উভয় সমাধানই কাজ করে না বা প্রত্যাশিতভাবে কাজ করে না।

আমার জন্য আমার 3 টি মডিউল রয়েছে। আমার মডিউল নির্ভরতা এই মত চেহারা

উপস্থাপনা -> ডোমেন -> ডেটা

আমি কেবল এক সাথে সমস্ত পরীক্ষা চালাতে চেয়েছিলাম। সুতরাং আমি 'ক্রস মডিউল নির্ভরতা' পদ্ধতির সাথে হাজির হয়েছি

আমার সেটিংস এর মতো দেখতে:

এখানে চিত্র বর্ণনা লিখুন


2

এটি একাধিক মডিউল সহ একটি প্রকল্পের জন্য আমার পক্ষে কাজ করেছে।

একটি নতুন JUnit রান / ডিবাগ কনফিগারেশন তৈরি করুন। পরীক্ষার ধরণ: 'সমস্ত ইন প্যাকেজ' পরীক্ষার জন্য অনুসন্ধান করুন: 'পুরো প্রকল্প'

আপনাকে একটি কার্যক্ষম ডিরেক্টরিও নির্দিষ্ট করতে হবে to


এটাই আমি শেষ করে দিয়েছি।
miva2

1

আরেকটি প্রজেক্টের ক্ষেত্রে এতটা সুস্পষ্ট নয় যে যখন একাধিক প্রকল্পে কোড কভারেজ প্রয়োজন। নিষ্পাপ সমাধানটি হ'ল একাধিক প্রকল্প নির্বাচন করা এবং সেগুলিতে একবারে সমস্ত ইউনিট পরীক্ষা চালানো। দেখা যাচ্ছে যে, ক্লাসপথ পরিবর্তন হলে এবং ইউনিট পরীক্ষাগুলি ব্যর্থ হতে পারে এবং ইন্টেলিজজে রান রান্নার কনফিগারেশনে প্রতি এক ক্লাসপথ প্রবেশ রয়েছে has এই ক্ষেত্রে, প্রকল্পগুলিতে ক্রমান্বয়ে ইউনিট পরীক্ষা চালানো যথেষ্ট পর্যাপ্ত। এটি কারণ প্রতিটি রান শেষে ইন্টেলিজ (2017.2.5 সম্প্রদায় সংস্করণ) জিজ্ঞাসা করে যে সংগৃহীত কভারেজটি পূর্বে সংগৃহীত কভারেজের পরিসংখ্যানগুলিতে প্রতিস্থাপন করা উচিত বা যুক্ত করা উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.