محلل PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

java.lang.Object
com.android.ddmlib.MultiLineReceiver
  com.android.tradefed.testtype.PythonUnitTestResultParser


تفسِّر مخرجات الاختبارات التي يتم إجراؤها باستخدام إطار عمل unittest في بايثون وتحولها إلى استدعاءات في سلسلة من ITestInvocationListener. تتّبِع النتائج من هذه الاختبارات بيانات EBNF هذه. القواعد النحوية:

TestReport ::= TestResult* Line TimeMetric [FailMessage*] الحالة سلسلة TestResult ::= \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d حالة فردية. FailMessage ::= EqLine \u201cERROR:\u201d سلسلة \u201c(\u201cstring\u201d)\u201d تتبُّع الأسطر سطر. حالة فردية ::= \u201cok\u201d | \u201cERROR\u201d. مقياس TimeMetric ::= \u201cRan\u201d عدد صحيح \u201cيتم اختباره في\u201d عدد عائم \u201ds\u201d. الحالة ::= \u201cOK\u201d | \u201cتعذّر (الأخطاء=\u201d int \u201c)\u201d. Traceback ::= string+.

مثال على الناتج (اجتياز): test_size (test_rangelib.RangeSetTest) ... ok test_str (test_rangelib.RangeSetTest) ... ok test_subtract (test_rangelib.RangeSetTest) ... حسنًا test_to_string_raw (test_rangelib.RangeSetTest) ... ok test_union (test_rangelib.RangeSetTest) ... حسنًا

---------------------------------------------------------------------- تم إجراء 5 اختبارات في 0.002 ثانية

حسنًا

مثال على الناتج (فشل) test_size (test_rangelib.RangeSetTest) ... ERROR

..................... بخصوص سلوك المزيد ، فجاءت تختبر الحجم (test_rangelib.RangeSetTest) ---------------------------------------------------------------------- نظام التتبع (الأحدث) الاتصال الأخير): الملف "test_rangelib.py"، السطر 129، في test_rangelib رفع ValueError() ValueError ---------------------------------------------------------------------- تم إجراء اختبار واحد في 0.001 ثانية تعذّر تنفيذ الإجراء (الأخطاء=1)

مثال على إخراج يتضمّن عدة حالات حدّية (تعذّرت): testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... حدث خطأ متوقع testFail (foo.testFoo) ... إخفاق testFailWithDocString (foo.testFoo) foo bar ... FAIL testOk (foo.testFoo) ... حسنًا testOkWithDocString (foo.testFoo) foo bar ... ok testscped (foo.testFoo) ... المتصفح "السبب" فو testUnestimatedSuccess (foo.testFoo) ... نجاح غير متوقَّع

...........................معرف بالخطأ: testError، (foo.testFoo) ---------------------------------------------------------------------- Traceback (آخر مكالمة أخيرة): الملف "foo.py"، السطر 11، في testError self.assertEqual(2+2, 5/0) ZeroDivisionError: قسمة العدد الصحيح أو باقي القسمة على صفر

..................... تكاليفتمّ بالإخفاق: testFail (foo.testFoo) ---------------------------------------------------------------------- Traceback (آخر مكالمة أخيرة): ملف "foo.py"، السطر 8، في testFail self.assertEqual(2+2, 5) خطأ AssertionError: 4 != 5

رضامعلومات (سريعة) testFailWithDocString (foo.testFoo) شريط foo ---------------------------------------------------------------------- نظام التتبع (الأحدث) الطلب الأخير: الملف "foo.py"، السطر 31، في testFailWithDocString self.assertEqual(2+2, 5) خطأ AssertionError: 4 != 5

---------------------------------------------------------------------- تم إجراء 8 اختبارات في 0.001 ثانية

لم تنجح (حالات الإخفاق=2، الأخطاء=1، التخطّي=1، حالات الفشل المتوقعة=1، حالات النجاح غير المتوقعة=1)

قائمة المهام: جرّب إعادة هيكلة الفئة بالكامل، فالتعامل مع الأوضاع غير مستقرة للغاية في الوقت الحالي.

ملخّص

شركة إنشاءات عامة

PythonUnitTestResultParser(ITestInvocationListener listener, String runName)

إنشاء PythonUnitTestResultParser جديدة ترسل تقارير إلى ITestInvocationListener المحدّد

PythonUnitTestResultParser( listeners, String runName)

إنشاء PythonUnitTestResultParser جديدة ترسل تقارير إلى ITestInvocationListener المحدّدة.

PythonUnitTestResultParser( listeners, String runName, includeFilters, excludeFilters)

إنشاء PythonUnitTestResultParser جديدة ترسل تقارير إلى ITestInvocationListener المحدّدة، باستخدام فلاتر التضمين والاستبعاد المحدَّدة

الطرق العامة

void finalizeParser()
boolean isCancelled()
void processNewLines(String[] lines)

تعالج بايثون مخرجات وحدة Python وتعلن عن النتائج التحليلية.

void setFinalizeWhenParsing(boolean shouldFinalize)

شركة إنشاءات عامة

محلل PythonUnitTestResultParser

public PythonUnitTestResultParser (ITestInvocationListener listener, 
                String runName)

إنشاء PythonUnitTestResultParser جديدة ترسل تقارير إلى ITestInvocationListener المحدّد

المعلمات
listener ITestInvocationListener

runName String

محلل PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName)

إنشاء PythonUnitTestResultParser جديدة ترسل تقارير إلى ITestInvocationListener المحدّدة.

المعلمات
listeners

runName String

محلل PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName, 
                 includeFilters, 
                 excludeFilters)

إنشاء PythonUnitTestResultParser جديدة ترسل تقارير إلى ITestInvocationListener المحدّدة، باستخدام فلاتر التضمين والاستبعاد المحدَّدة

المعلمات
listeners

runName String

includeFilters

excludeFilters

الطرق العامة

إنهاء المحلل اللغوي

public void finalizeParser ()

تم إلغاءه

public boolean isCancelled ()

المرتجعات
boolean

عملية_خطوط جديدة

public void processNewLines (String[] lines)

تعالج بايثون مخرجات وحدة Python وتعلن عن النتائج التحليلية.

يجب استدعاء هذه الطريقة مرة واحدة فقط باستخدام الناتج الكامل، على عكس الطريقة الأساسية في MultiLineReceiver

المعلمات
lines String

تعيين FinalizeWhenParsing

public void setFinalizeWhenParsing (boolean shouldFinalize)

المعلمات
shouldFinalize boolean