توضّح هذه الصفحة الأساسيات المتعلّقة بكيفية تنفيذ أداة جديدة لإعداد التقارير عن النتائج وإعدادها لإجراء اختبار.
الواجهة الأساسية
لتحديد أداة جديدة لإعداد تقارير النتائج في Tradefed، يجب أن تنفّذ الفئة واجهة ITestInvocationListener
التي تتيح تلقّي مراحل مختلفة من عملية الاستدعاء والتعامل معها:
invocationStarted
invocationEnded
invocationFailed
يتعامل مُبلِغ النتائج أيضًا مع المراحل المختلفة لكل عملية اختبار:
testRunStarted
testStarted
-
testFailed
أو testIgnored
testEnded
testRunFailed
testRunEnded
في ضوء كل هذه الأحداث، هناك نوعان رئيسيان من أدوات تسجيل النتائج، وهما:
- يجب الاهتمام فقط بإعداد تقارير عن النتائج النهائية الكاملة.
- اتّخاذ إجراء بشأن النتائج الجزئية
أداة إعداد تقارير النتائج التي تعرض النتائج النهائية الكاملة
هذا النوع هو الأكثر شيوعًا عندما يتعلق الأمر بالتفاعل مع خدمة خارجية تتلقّى النتائج. يتلقّى برنامج إعداد التقارير النتائج ويجمعها، ثم يرسلها كلها إلى نقطة نهاية النتائج في invocationEnded
.
ننصح المراسلين بتوسيع CollectingTestListener
بدلاً من الواجهة الأساسية لتجنُّب إعادة تنفيذ عملية حفظ النتائج وتخزينها حتى invocationEnded
.
أداة إعداد تقارير النتائج التي تعرض نتائج جزئية
يُستخدَم هذا النوع عادةً في طريقة البث المباشر للنتائج، عندما يتم تلقّي النتائج وإرسالها إلى أماكن أخرى على الفور. على سبيل المثال، يكون المراسل الذي يسجّل النتائج في وحدة التحكّم من هذا النوع.
ويختص هذا النوع بنوع المعالجة المطلوب للأحداث، لذا فإنّ تنفيذ الواجهة الأساسية هو الطريقة الموصى بها عادةً.
إعدادات XML
علامة العنصر هي result_reporter
. مثلاً:
<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
<option name="suppress-passed-tests" value="true"/>
</result_reporter>