PythonUnitTestResultParser
public class PythonUnitTestResultParser
extends MultiLineReceiver
java.lang.Object | ||
↳ | com.android.ddmlib.MultiLineReceiver | |
↳ | com.android.tradefed.testtype.PythonUnitTestResultParser |
يفسر ناتج الاختبارات التي يتم إجراؤها باستخدام إطار عمل Python الأكثر ثباتًا ويترجمها إلى استدعاءات على سلسلة من ITestInvocationListener
s. الإخراج من هذه الاختبارات يتبع قواعد EBNF:
TestReport :: = TestResult * Line TimeMetric [FailMessage *] الحالة. TestResult :: = string \ u201c (\ u201cstring \ u201d) \ u201d \ u201c \ u2026 \ u201d SingleStatus. FailMessage :: = EqLine \ u201cERROR: \ u201d سلسلة \ u201c (\ u201cstring \ u201d) \ u201d Line Traceback Line. SingleStatus :: = \ u201cok \ u201d | \ u201cERROR \ u201d. مقياس الوقت :: = \ u201cRan \ u201d عدد صحيح \ u201d في \ u201d عدد عائم \ u201ds \ u201d. الحالة :: = \ u201cOK \ u201d | \ u201cFAILED (الأخطاء = \ u201d int \ u201c) \ u201d. Traceback :: = سلسلة +.
ناتج المثال (اجتياز): 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) ... 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) ... فشل اختبار فشل متوقع (foo.testFoo) ... فشل testFailWithDocString (foo.testFoo) شريط foo. .. FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkapped (foo.testFoo) ... تخطى 'reason foo' testUnuableSuccess (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 -------------------- -------------------------------------------------- Traceback (آخر مكالمة أخيرة): ملف "foo.py" ، السطر 31 ، في testFailWithDocString self.assertEqual (2 + 2، 5) AssertionError: 4! = 5
-------------------------------------------------- -------------------- تم إجراء 8 اختبارات في 0.001 ثانية
فشل (حالات الفشل = 2 ، الأخطاء = 1 ، تخطي = 1 ، حالات الفشل المتوقعة = 1 ، حالات النجاح غير المتوقعة = 1)
TODO: ضع في اعتبارك إعادة هيكلة الفصل بالكامل ، فالتعامل مع هذا الأمر فوضوي تمامًا في الوقت الحالي.
ملخص
المنشأت العامة | |
---|---|
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) معالجة مخرجات 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
s المحدد.
حدود | |
---|---|
listeners | |
runName | String |
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName, includeFilters, excludeFilters)
قم بإنشاء PythonUnitTestResultParser
جديد يقدم تقارير إلى ITestInvocationListener
s المحدد ، مع عوامل التضمين والاستبعاد المحددة.
حدود | |
---|---|
listeners | |
runName | String |
includeFilters | |
excludeFilters |
الأساليب العامة
وضع اللمسات الأخيرة
public void finalizeParser ()
تم إلغاء
public boolean isCancelled ()
عائدات | |
---|---|
boolean |
عملية NewLines
public void processNewLines (String[] lines)
معالجة مخرجات Python غير المعتادة والإبلاغ عن النتائج التي تم تحليلها.
يجب استدعاء هذه الطريقة مرة واحدة فقط مع الإخراج الكامل ، على عكس الطريقة الأساسية في MultiLineReceiver
.
حدود | |
---|---|
lines | String |
setFinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
حدود | |
---|---|
shouldFinalize | boolean |