محلل PythonUnitTestResultParser
public
class
PythonUnitTestResultParser
extends MultiLineReceiver
java.lang.Object | ||
↳ | com.android.ddmlib.MultiLineReceiver | |
↳ | com.android.tradefed.testtype.PythonUnitTestResultParser |
تفسِّر مخرجات الاختبارات التي يتم إجراؤها باستخدام إطار عمل unittest في بايثون وتحولها إلى استدعاءات
في سلسلة من ITestInvocationListener
. تتّبِع النتائج من هذه الاختبارات بيانات EBNF هذه.
القواعد النحوية:
TestReport ::= TestResult* Line TimeMetric [FailMessage*] الحالة سلسلة TestResult ::= \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d حالة فردية. FailMessage ::= EqLine \u201cERROR:\u201d سلسلة \u201c(\u201cstring\u201d)\u201d تتبُّع الأسطر سطر. حالة فردية ::= \u201cok\u201d | \u201cERROR\u201d. مقياس TimeMetric ::= \u201cRan\u201d عدد صحيح \u201cيتم اختباره في\u201d عدد عائم \u201ds\u201d. الحالة ::= \u201cOK\u201d | \u201cتعذّر (الأخطاء=\u201d int \u201c)\u201d. Traceback ::= string+.
مثال على الناتج (اجتياز): test_size (test_rangelib.RangeSetTest) ... ok test_str (test_rangelib.RangeSetTest) ... ok test_subtract (test_rangelib.RangeSetTest) ... حسنًا test_to_string_raw (test_rangelib.RangeSetTest) ... ok test_union (test_rangelib.RangeSetTest) ... حسنًا
---------------------------------------------------------------------- تم إجراء 5 اختبارات في 0.002 ثانية
حسنًا
مثال على الناتج (فشل) test_size (test_rangelib.RangeSetTest) ... ERROR
..................... بخصوص سلوك المزيد ، فجاءت تختبر الحجم (test_rangelib.RangeSetTest) ---------------------------------------------------------------------- نظام التتبع (الأحدث) الاتصال الأخير): الملف "test_rangelib.py"، السطر 129، في test_rangelib رفع ValueError() ValueError ---------------------------------------------------------------------- تم إجراء اختبار واحد في 0.001 ثانية تعذّر تنفيذ الإجراء (الأخطاء=1)
مثال على إخراج يتضمّن عدة حالات حدّية (تعذّرت): testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... حدث خطأ متوقع testFail (foo.testFoo) ... إخفاق testFailWithDocString (foo.testFoo) foo bar ... FAIL testOk (foo.testFoo) ... حسنًا testOkWithDocString (foo.testFoo) foo bar ... ok testscped (foo.testFoo) ... المتصفح "السبب" فو testUnestimatedSuccess (foo.testFoo) ... نجاح غير متوقَّع
...........................معرف بالخطأ: testError، (foo.testFoo) ---------------------------------------------------------------------- Traceback (آخر مكالمة أخيرة): الملف "foo.py"، السطر 11، في testError self.assertEqual(2+2, 5/0) ZeroDivisionError: قسمة العدد الصحيح أو باقي القسمة على صفر
..................... تكاليفتمّ بالإخفاق: testFail (foo.testFoo) ---------------------------------------------------------------------- Traceback (آخر مكالمة أخيرة): ملف "foo.py"، السطر 8، في testFail self.assertEqual(2+2, 5) خطأ AssertionError: 4 != 5
رضامعلومات (سريعة) testFailWithDocString (foo.testFoo) شريط foo ---------------------------------------------------------------------- نظام التتبع (الأحدث) الطلب الأخير: الملف "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(
إنشاء |
|
PythonUnitTestResultParser(
إنشاء |
الطرق العامة | |
---|---|
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
المحدّدة.
المعلمات | |
---|---|
listeners |
|
runName |
String |
محلل PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName, includeFilters, excludeFilters)
إنشاء PythonUnitTestResultParser
جديدة ترسل تقارير إلى ITestInvocationListener
المحدّدة، باستخدام فلاتر التضمين والاستبعاد المحدَّدة
المعلمات | |
---|---|
listeners |
|
runName |
String |
includeFilters |
|
excludeFilters |
|
الطرق العامة
إنهاء المحلل اللغوي
public void finalizeParser ()
تم إلغاءه
public boolean isCancelled ()
المرتجعات | |
---|---|
boolean |
عملية_خطوط جديدة
public void processNewLines (String[] lines)
تعالج بايثون مخرجات وحدة Python وتعلن عن النتائج التحليلية.
يجب استدعاء هذه الطريقة مرة واحدة فقط باستخدام الناتج الكامل، على عكس الطريقة الأساسية في
MultiLineReceiver
المعلمات | |
---|---|
lines |
String |
تعيين FinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
المعلمات | |
---|---|
shouldFinalize |
boolean |