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 :: = سلسلة "(" سلسلة ")" "..." SingleStatus. FailMessage :: = EqLine "خطأ:" سلسلة "(" سلسلة ")" خط تتبع الخط. SingleStatus :: = "موافق" | "خطأ". TimeMetric :: = "Ran" عدد صحيح "الاختبارات في" float "s". الحالة :: = "موافق" | “فشل (أخطاء =” int “)”. 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