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

يمكن أن تحتوي كل وحدة مجموعة (يتم تحديدها بواسطة 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>

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