PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

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


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

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

ناتج المثال (اجتياز): test_size (test_rangelib.RangeSetTest) ... ok test_str (test_rangelib.RangeSetTest) ... ok test_subtract (test_rangelib.RangeSetTest) ... ok test_to_string_raw (test_rangelib.RangeSetTest) ... 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) ... فشل اختبار فشل متوقع (foo.testFoo) ... فشل testFailWithDocString (foo.testFoo) شريط foo. .. FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkapped (foo.testFoo) ... تخطى 'reason foo' testUnuableSuccess (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 -------------------- -------------------------------------------------- Traceback (آخر مكالمة أخيرة): ملف "foo.py" ، السطر 31 ، في testFailWithDocString self.assertEqual (2 + 2، 5) AssertionError: 4! = 5

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

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

TODO: ضع في اعتبارك إعادة هيكلة الفصل بالكامل ، فالتعامل مع هذا الأمر فوضوي تمامًا في الوقت الحالي.

ملخص

المنشأت العامة

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 s المحدد ، مع عوامل التضمين والاستبعاد المحددة.

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

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 s المحدد.

حدود
listeners

runName String

PythonUnitTestResultParser

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

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

حدود
listeners

runName String

includeFilters

excludeFilters

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

وضع اللمسات الأخيرة

public void finalizeParser ()

تم إلغاء

public boolean isCancelled ()

عائدات
boolean

عملية NewLines

public void processNewLines (String[] lines)

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

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

حدود
lines String

setFinalizeWhenParsing

public void setFinalizeWhenParsing (boolean shouldFinalize)

حدود
shouldFinalize boolean