PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

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


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

تقرير الاختبار ::= TestResult* Line TimeMetric [FailMessage*] الحالة. نتيجة الاختبار ::= string \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d SingleStatus. FailMessage ::= EqLine \u201cERROR:\u201d string \u201c(\u201cstring\u201d)\u201d Line Traceback Line. الحالة الفردية ::= \u201cok\u201d | \u201cخطأ\u201d. TimeMetric ::= \u201cRan\u201d عدد صحيح \u201ctests في\u201d float \u201ds\u201d. الحالة ::= \u201cOK\u201d | \u201cفشل (الأخطاء=\u201d int \u201c)\u201d. تتبع ::= سلسلة+.

مثال الإخراج (النجاح): test_size (test_rangelib.RangeSetTest) ... طيب test_str (test_rangelib.RangeSetTest) ... طيب test_subtract (test_rangelib.RangeSetTest) ... طيب test_to_string_raw (test_rangelib.RangeSetTest) ... طيب test_union (test_rangelib. RangeSetTest)... حسنًا

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

نعم

إخراج المثال (فشل) test_size (test_rangelib.RangeSetTest) ... خطأ

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

مثال على الإخراج مع العديد من حالات الحافة (فشل): testError (foo.testFoo) ... خطأ testExpectedFailure (foo.testFoo) ... فشل متوقع testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar . .. فشل في الاختبارOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... حسنًا testSkipped (foo.testFoo) ... تخطي اختبار 'reason foo'UnexpectedSuccess (foo.testFoo) ... نجاح غير متوقع

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

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

================================================================================================== ==================== فشل: testFailWithDocString (foo.testFoo) foo bar -------------------- -------------------------------------------------- التتبع (آخر مكالمة): الملف "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 ( listeners, String runName)

قم بإنشاء PythonUnitTestResultParser جديد يقدم تقاريره إلى ITestInvocationListener s.

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

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

الأساليب العامة

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

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

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 s.

حدود
listeners

runName String

PythonUnitTestResultParser

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

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

حدود
listeners

runName String

includeFilters

excludeFilters

الأساليب العامة

FinalizeParser

public void finalizeParser ()

تم إلغاء

public boolean isCancelled ()

عائدات
boolean

ProcessNewLines

public void processNewLines (String[] lines)

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

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

حدود
lines String

setFinalizeWhenParsing

public void setFinalizeWhenParsing (boolean shouldFinalize)

حدود
shouldFinalize boolean