PythonUnitTestResultParser
public
class
PythonUnitTestResultParser
extends MultiLineReceiver
| java.lang.Object | ||
| ↳ | com.android.ddmlib.MultiLineReceiver | |
| ↳ | com.android.tradefed.testtype.PythonUnitTestResultParser | |
यह Python के unittest फ़्रेमवर्क के साथ चलाए गए टेस्ट के आउटपुट को समझता है और उसे ITestInvocationListener की सीरीज़ पर कॉल में बदल देता है. इन टेस्ट का आउटपुट, इस ईबीएनएफ़ grammar का पालन करता है:
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 integer \u201ctests in\u201d float \u201ds\u201d. स्टेटस ::= \u201cOK\u201d | \u201cFAILED (errors=\u201d int \u201c)\u201d. Traceback ::= string+.
आउटपुट का उदाहरण (पास): 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
---------------------------------------------------------------------- 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) ... गड़बड़ी testExpectedFailure (foo.testFoo) ... उम्मीद के मुताबिक गड़बड़ी testFail (foo.testFoo) ... फ़ेल testFailWithDocString (foo.testFoo) foo bar ... फ़ेल testOk (foo.testFoo) ... ठीक है testOkWithDocString (foo.testFoo) foo bar ... ठीक है testSkipped (foo.testFoo) ... छोड़ा गया 'वजह foo' testUnexpectedSuccess (foo.testFoo) ... अचानक सफलता
====================================================================== गड़बड़ी: testError (foo.testFoo) ---------------------------------------------------------------------- ट्रैकबैक (सबसे हाल ही में कॉल आखिर में): फ़ाइल "foo.py", लाइन 11, testError में self.assertEqual(2+2, 5/0) ZeroDivisionError: पूर्णांक का भागफल या शून्य से मॉड्यूलो
====================================================================== FAIL: testFail (foo.testFoo) ---------------------------------------------------------------------- Traceback (most recent call last): File "foo.py", line 8, in testFail self.assertEqual(2+2, 5) AssertionError: 4 != 5
====================================================================== FAIL: testFailWithDocString (foo.testFoo) foo bar ---------------------------------------------------------------------- Traceback (most recent call last): File "foo.py", line 31, in testFailWithDocString self.assertEqual(2+2, 5) AssertionError: 4 != 5
---------------------------------------------------------------------- 0.001 सेकंड में 8 टेस्ट चलाए गए
पूरा नहीं हुआ (पूरा नहीं होने की संख्या=2, गड़बड़ियां=1, स्किप की गई=1, पूरा न होने की अनुमानित संख्या=1, अचानक पूरा होने की संख्या=1)
TODO: पूरी क्लास को फिर से तैयार करें. फ़िलहाल, इसे मैनेज करना काफ़ी मुश्किल है.
खास जानकारी
पब्लिक कंस्ट्रक्टर | |
|---|---|
PythonUnitTestResultParser(
एक नया |
|
PythonUnitTestResultParser(
एक नया |
|
सार्वजनिक तरीके | |
|---|---|
void
|
finalizeParser()
|
boolean
|
isCancelled()
|
void
|
processNewLines(String[] lines)
Python unittest के आउटपुट को प्रोसेस करें और पार्स किए गए नतीजों की रिपोर्ट बनाएं. |
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 unittest के आउटपुट को प्रोसेस करें और पार्स किए गए नतीजों की रिपोर्ट बनाएं.
इस तरीके को पूरे आउटपुट के साथ सिर्फ़ एक बार कॉल किया जाना चाहिए. यह MultiLineReceiver में मौजूद बेस तरीके से अलग है.
| पैरामीटर | |
|---|---|
lines |
String |
setFinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
| पैरामीटर | |
|---|---|
shouldFinalize |
boolean |