توضّح هذه الصفحة أساسيات كيفية تنفيذ أداة جديدة لإعداد تقارير النتائج و ضبطها لإجراء اختبار.
الواجهة الأساسية
لتحديد أداة جديدة لتسجيل النتائج في 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>