استخدام وحدات التحكّم في الوحدات

يمكن أن تحتوي كل وحدة من الوحدات (المحددة بواسطة AndroidTest.xml) على الكائن module_controller الذي يمكن أن يغير بعض سلوك الوحدة:

تحديد ما إذا كان سيتم تشغيل الوحدة أم لا استنادًا إلى بعض الشروط

من خلال تنفيذ BaseModuleController وإضافته إلى AndroidTest.xml على النحو التالي:

<object type="module_controller" class="com.android.tradefed.testtype.suite.module.<NAME>" />

وسيتم استخدام وحدة التحكّم في الوحدة لتحديد ما إذا كان يجب تشغيل الوحدة. أم لا، استنادًا إلى public abstract RunStrategy shouldRun(IInvocationContext context); التنفيذ.

ما إذا كان سيتم جمع بعض السجلات أم لا عند حالات الإخفاق

عند تشغيل حزمة كاملة، من الممكن طلب على مستوى الجناح مجموعة من السجلات المتعلقة بحالات التعذُّر (لقطة شاشة، وتقرير الأخطاء، وأداة Logcat). لكن بالنسبة بعض الوحدات، وقد لا يكون للسجل المعين المطلوب أي قيمة إضاعة الوقت في جمعها. في هذه الحالة، يمكن للوحدة النمطية تحديد السجلات التي يهتمون بها:

<object type="module_controller"
        class="com.android.tradefed.testtype.suite.module.TestFailureModuleController">
    <option name="screenshot-on-failure" value="<true OR false>" />
    <option name="bugreportz-on-failure" value="<true OR false>" />
    <option name="logcat-on-failure" value="<true OR false>" />
</object>

ملاحظة: يجب أن يتم تنفيذ وحدات التحكُّم بشكل عام إن أمكن حتى زيادة قابلية إعادة الاستخدام إلى أقصى حد. ويجب أن يؤدي تخطي أي وحدة بناءً على حالتها من قبل مالك الوحدة للحصول على الموافقة على أن تخطي أي وحدة السلوك الصحيح لهم.