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 में, वैल्यू गलत होने पर दिखने वाला मैसेज (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 |