PythonUnitTestResultParser
public
class
PythonUnitTestResultParser
extends MultiLineReceiver
java.lang.Object | ||
↳ | com.android.ddmlib.MultiLineReceiver | |
↳ | com.android.tradefed.testtype.PythonUnitTestResultParser |
تفسّر نتائج الاختبارات التي يتم إجراؤها باستخدام إطار عمل unittest في 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: قسمة عدد صحيح أو عدد صحيح متبقي على القسمة بصفر
.........Tailwind... FAIL: testFail (foo.testFoo) ---------------------------------------------------------------------- Traceback (أحدث استدعاء): ملف "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(
إنشاء |
|
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 |