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. TimeMetric ::= \u201cRan\u201d عدد صحيح \u201ctests in\u201d عدد عشري \u201ds\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 |