PythonUnitTestResultParser
public
class
PythonUnitTestResultParser
extends MultiLineReceiver
java.lang.Object | ||
↳ | com.android.ddmlib.MultiLineReceiver | |
↳ | com.android.tradefed.testtype.PythonUnitTestResultParser |
تفسِّر هذه الدالة نتائج الاختبارات التي يتم تشغيلها باستخدام إطار عمل اختبار Python وتترجمها إلى طلبات
على سلسلة من ITestInvocationListener
. تلتزم النتائج الناتجة عن هذه الاختبارات بقواعد لغة EBNF
التالية:
TestReport ::= TestResult* Line TimeMetric [FailMessage*] Status. TestResult ::= string \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d SingleStatus. FailMessage ::= EqLine \u201cERROR:\u201d string \u201c(\u201cstring\u201d)\u201d Line Traceback Line. SingleStatus ::= \u201cok\u201d | \u201cERROR\u201d. مقياس_الوقت ::= \u201cأجرى\u201d عددًا صحيحًا من \u201cالاختبارات في\u201d أعداد_عشرية\u201d. الحالة ::= \u201cOK\u201d | \u201cFAILED (errors=\u201d int \u201c)\u201d. تتبع الخطأ ::= سلسلة+.
مثال على الإخراج (مقبول): 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) ... ok test_union (test_rangelib.RangeSetTest) ... ok
---------------------------------------------------------------------- تم إجراء 5 اختبارات في 0.002 ثانية
حسنًا
مثال على الناتج (تعذّر) test_size (test_rangelib.RangeSetTest) ... خطأ
====================================================================== خطأ: test_size (test_rangelib.RangeSetTest) ---------------------------------------------------------------------- تتبع الأخطاء (أحدث طلب آخر): الملف "test_rangelib.py"، السطر 129، في test_rangelib raise ValueError() ValueError ---------------------------------------------------------------------- تم إجراء اختبار واحد في 0.001 ثانية تعذّر إكمال الاختبار (الأخطاء=1)
مثال على الإخراج مع عدّة حالات متطرفة (تعذّر): testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... expected failure testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar ... FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... skipped 'reason foo' testUnexpectedSuccess (foo.testFoo) ... unexpected success
====================================================================== خطأ: testError (foo.testFoo) ---------------------------------------------------------------------- تتبُّع الخطأ (آخر إجراء تمّ إجراؤه): الملف "foo.py"، السطر 11، في testError self.assertEqual(2+2, 5/0) ZeroDivisionError: قسمة عدد صحيح أو عدد صحيح متبقي على القسمة بصفر
====================================================================== تعذّر اجتياز الاختبار: 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)
TODO: ننصحك بإعادة صياغة الصف الكامل، لأنّ طريقة التعامل معه غير منظّمة الآن.
ملخّص
وظائف الإنشاء العامة | |
---|---|
PythonUnitTestResultParser(
أنشئ |
|
PythonUnitTestResultParser(
أنشئ |
الطرق العامة | |
---|---|
void
|
finalizeParser()
|
boolean
|
isCancelled()
|
void
|
processNewLines(String[] lines)
معالجة نتائج اختبار Python وإعداد تقارير عن النتائج التي تم تحليلها |
void
|
setFinalizeWhenParsing(boolean shouldFinalize)
|
وظائف الإنشاء العامة
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 |
|
الطرق العامة
finalizeParser
public void finalizeParser ()
isCancelled
public boolean isCancelled ()
المرتجعات | |
---|---|
boolean |
processNewLines
public void processNewLines (String[] lines)
معالجة نتائج اختبار Python وإعداد تقارير عن النتائج التي تم تحليلها
يجب استدعاء هذه الطريقة مرة واحدة فقط مع المُخرج الكامل، على عكس الطريقة الأساسية في
MultiLineReceiver
.
المعلمات | |
---|---|
lines |
String |
setFinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
المعلمات | |
---|---|
shouldFinalize |
boolean |