ভাগ করে নেওয়ার কনফিগার করুন

এই পৃষ্ঠাটি বর্ণনা কি একটি স্যুট মডিউল (জন্য সুর করা সম্ভব AndroidTest.xml ) sharding মাধ্যমে এবং ল্যাবের একটানা সম্পাদনের সময় সেরা গতি কর্মক্ষমতা পেতে। আমরা প্রতিটি ব্যবহার করার জন্য যুক্তিসঙ্গতভাবে একটি জেনেরিক পদ্ধতিতে বিকল্পগুলি বর্ণনা করার চেষ্টা করব।

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

Shardable না shardable?

এটা একটা মডিউল (ট্যাগ করা সম্ভব AndroidTest.xml সঙ্গে) <option name="not-shardable" value="true" /> সাজ এটি sharded করা উচিত নয় জানিয়ে দেবেন।

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

  • যখন আপনার মডিউল সেটআপ ব্যয়বহুল হয়:

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

  • যখন আপনার মডিউলে পরীক্ষার সংখ্যা কম হয়:

একটি মডিউল ভাগ করা সমস্ত পরীক্ষার ক্ষেত্রে সম্ভবত বিভিন্ন ডিভাইসে স্বাধীনভাবে সম্পাদন করতে পারে। এটি প্রথম পয়েন্টের সাথে সম্পর্কিত; যদি আপনার পরীক্ষার সংখ্যা কম হয়, আপনি একটি একক পরীক্ষা বা কিছু টুকরো টেস্ট না করে শেষ করতে পারেন, যা প্রস্তুতির যেকোনো ধাপকে বেশ ব্যয়বহুল করে তুলবে। উদাহরণস্বরূপ, একক পরীক্ষার ক্ষেত্রে একটি APK ইনস্টল করা সাধারণত মূল্যবান নয়।

যন্ত্র পরীক্ষা: সর্বাধিক সংখ্যা?

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

জোতা ইন্সট্রুমেন্টেশন পরীক্ষা ওভার-শার্ড হতে পারে এবং কিছু খালি shards সঙ্গে শেষ হতে পারে; ছয়টি টুকরোতে পাঁচটি পরীক্ষা দিয়ে একটি যন্ত্রের পরীক্ষা করা, একটি পরীক্ষা সহ পাঁচটি শর্দ এবং কোনও পরীক্ষা ছাড়াই একটি শার্ড। এই শার্ডগুলির প্রত্যেকটির জন্য একটি ব্যয়বহুল APK ইনস্টলেশন প্রয়োজন।

সুতরাং যন্ত্রানুষঙ্গের পরীক্ষা APK- এর পরীক্ষার সংখ্যা কম, সঙ্গে মডিউল ট্যাগিং যখন <option name="not-shardable" value="true" /> সাজ জানাতে চাই যে, মডিউল sharding এটি অধিকারী না হয় সম্ভব হবে।

AndroidJUnitTest রানার একটি বিশেষ এটা shards তা ঠিকরা করার অনুমতি দেওয়া হয় সর্বোচ্চ সংখ্যা উল্লেখ করতে সক্ষম হবেন বিকল্প আছে: <option name="ajur-max-shard" value="5" />

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

উদাহরণস্বরূপ, আপনার যন্ত্রানুষঙ্গের পরীক্ষা করা APK মাত্র দুটি পরীক্ষার বিষয় আছে কিন্তু আপনি এখনও এটা ঠিকরা, একটি থাকার চান তাহলে ajur-max-shard মান 2 নিশ্চিত করবে আপনি খালি shards তৈরি করা হয় না।