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 ( listeners, String runName) PythonUnitTestResultParser ( listeners, String runName) قم بإنشاء | |
PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) قم بإنشاء |
الأساليب العامة | |
---|---|
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 |