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*] סטטוס. תוצאות בדיקה ::= מחרוזת \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d סטטוס יחיד. FailMessage ::= EqLine \u201cERROR:\u201d מחרוזת \u201c(\u201cstring\u201d)\u201d קו מעקב אחר קו. סטטוס יחיד ::= \u201cok\u201d | \u201cERROR\u201d. TimeMetric ::= מספר שלם ובדיקות ב-float. סטטוס ::= \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) ... _ ok test_lib. RangeSetTest) ... בסדר
-------------------------------------------------- -------------------- רץ 5 מבחנים ב-0.002 שניות
בסדר
פלט לדוגמה (נכשל) test_size (test_rangelib.RangeSetTest) ... שגיאה
================================================ ==================== שגיאה: test_size (test_rangelib.RangeSetTest) ---------------------------- ------------------------------------------------ להתחקות ( הקריאה האחרונה האחרונה): קובץ "test_rangelib.py", שורה 129, ב-test_rangelib raise ValueError() ValueError ---------------------------------- ------------------------------------------- מבחן 1 ב-0.001 שניות נכשל (שגיאות=1)
פלט דוגמה עם מספר מקרי קצה (נכשל): testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... כשל צפוי testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar . .. FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSskipped (foo.testFoo) ... דילג על 'reason foo' testUnexpectedSuccess (foo.testFoo) ... הצלחה בלתי צפויה
================================================ ==================== שגיאה: 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 שניות
FAILED (כשלים=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
הנתונים.
פרמטרים | |
---|---|
listeners | |
runName | String |
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName, includeFilters, excludeFilters)
צור PythonUnitTestResultParser
חדש שמדווח ל- ITestInvocationListener
הנתונים, עם מסנני הכללה ואי הכללה שצוינו.
פרמטרים | |
---|---|
listeners | |
runName | String |
includeFilters | |
excludeFilters |
שיטות ציבוריות
finalizeParser
public void finalizeParser ()
זה בוטל
public boolean isCancelled ()
החזרות | |
---|---|
boolean |
processNewLines
public void processNewLines (String[] lines)
עבד את פלט יחידת בדיקת Python ודיווח על תוצאות מנותחות.
יש לקרוא לשיטה זו רק פעם אחת עם הפלט המלא, בניגוד לשיטת הבסיס ב- MultiLineReceiver
.
פרמטרים | |
---|---|
lines | String |
setFinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
פרמטרים | |
---|---|
shouldFinalize | boolean |