একটি পরীক্ষা যে কোনও কারণে ব্যর্থ হতে পারে এবং কখনও কখনও কেবল পরীক্ষাটি পুনরায় চালানোই এটিকে আবার পাস করার জন্য যথেষ্ট (অস্থিরতার কারণে, যেমন অন্তর্নিহিত পরিকাঠামোর সমস্যাগুলির কারণে)। আপনি স্বয়ংক্রিয়ভাবে পুনরায় চেষ্টা পরিচালনা করতে Tradefed কনফিগার করতে পারেন।
স্বয়ংক্রিয়-পুনরায় চেষ্টার মূল বিষয় হল সমস্ত পরীক্ষা পুনরায় চালানো এড়ানো; এটি শুধুমাত্র ব্যর্থ পরীক্ষাগুলিকে পুনরায় চালিত করে, যার ফলে সঞ্চালনের সময় বড় সঞ্চয় হয়।
ট্রেডফেড পুনরাবৃত্তি বৈশিষ্ট্যের মাধ্যমে অস্বচ্ছতা সনাক্ত করার জন্য একাধিকবার পরীক্ষা চালানো সমর্থন করে। এই ক্ষেত্রে, সমস্ত পরীক্ষা পুনরায় চালানো হবে, এবং কোনো পুনরাবৃত্তি ব্যর্থ হলে পরীক্ষা ব্যর্থ হবে।
স্বয়ংক্রিয় পুনঃপ্রচেষ্টা সক্ষম করুন
স্বয়ংক্রিয় পুনঃপ্রচারটি RetryDecision অবজেক্টের মাধ্যমে নিয়ন্ত্রিত হয় যা বৈশিষ্ট্যটি সক্ষম করতে দুটি বিকল্প প্রদান করে: max-testcase-run-count
এবং retry-strategy
।
max-testcase-run-count
ড্রাইভ করে যে সংখ্যা বা পুনরাবৃত্তির চেষ্টা করা হবে। এটি চিরতরে পুনরায় চেষ্টা করা এড়াতে একটি উচ্চ সীমা নির্ধারণ করে। retry-strategy
কীভাবে পুনরায় চেষ্টা করতে হবে তার সিদ্ধান্তকে চালিত করে; আরও বিস্তারিত জানার জন্য নিম্নলিখিত বিভাগগুলি দেখুন।
স্বয়ংক্রিয় পুনরায় চেষ্টা অক্ষম করুন
নিম্নলিখিত বিকল্প ব্যবহার করুন:
--retry-strategy NO_RETRY
ব্যর্থতা পুনরায় চেষ্টা করুন
পরীক্ষার ব্যর্থতা পুনরায় চেষ্টা করতে, নিম্নলিখিত বিকল্পগুলি ব্যবহার করুন:
--retry-strategy RETRY_ANY_FAILURE --max-testcase-run-count X
এটি পাস না হওয়া পর্যন্ত বা পুনঃপ্রচারের সর্বোচ্চ সংখ্যা না পৌঁছানো পর্যন্ত এটি ব্যর্থতার পুনরায় চেষ্টা করবে, যেটি প্রথমে আসে।
পুনরাবৃত্তি
অনেক সময়ের জন্য পরীক্ষা পুনরায় চালানোর জন্য, নিম্নলিখিত বিকল্পগুলি ব্যবহার করা যেতে পারে:
--retry-strategy ITERATIONS --max-testcase-run-count X
ফলাফল কি মত দেখায়?
ফলাফল রিপোর্টাররা ডিফল্টরূপে সমস্ত প্রচেষ্টার সমষ্টিগত ফলাফল পাবেন।
উদাহরণ স্বরূপ: RETRY_ANY_FAILURE
এর জন্য একটি Fail
এবং একটি Pass
ফলে একটি সমষ্টিগত Pass
হবে যেহেতু পুনরায় চেষ্টা ব্যর্থতা সাফ করতে পরিচালিত হয়েছে৷
সাংবাদিকদের পক্ষে অ-সমষ্টিগত ফলাফল পাওয়া সম্ভব। এটি করার জন্য, তাদের ISupportGranularResults ইন্টারফেসটি প্রসারিত করতে হবে যা দানাদার (অ-একত্রিত) ফলাফলের জন্য সমর্থন ঘোষণা করে।
বাস্তবায়নের বিবরণ
টেস্ট কেস স্তরে ব্যর্থতা পুনরায় চালানোর জন্য স্বয়ংক্রিয়-পুনঃপ্রচেষ্টা সক্ষম করতে, ITestFilterReceiver প্রয়োগ করুন।
আপনি যদি ITestFilterReceiver প্রয়োগ করতে না পারেন, তাহলে আপনি IAutoRetriableTest প্রয়োগ করতে পারেন যাতে পুনঃরান চালানো হয় তা নিয়ন্ত্রণ করতে। InstalledInstrumentationsTest হল সেই ইন্টারফেসের একটি উদাহরণ বাস্তবায়ন।