PythonUnitTestResultParser
public
class
PythonUnitTestResultParser
extends MultiLineReceiver
java.lang.Object | ||
↳ | com.android.ddmlib.MultiLineReceiver | |
↳ | com.android.tradefed.testtype.PythonUnitTestresultsParser |
यह Python के unittest फ़्रेमवर्क की मदद से चलाए गए टेस्ट के आउटपुट को समझता है और उसे ITestInvocationListener
की सीरीज़ पर कॉल में बदल देता है. इन टेस्ट का आउटपुट, इस ईबीएनएफ़ grammar का पालन करता है:
TestReport ::= TestResult* Line TimeMetric [FailMessage*] Status. टेस्ट के नतीजे ::= स्ट्रिंग \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d SingleStatus. FailMessage ::= EqLine \u201cERROR:\u201d string \u201c(\u201cstring\u201d)\u201d Line Traceback Line. सिंगलस्टेटस ::= \u201cok\u201d | \u201cगड़बड़ी\u201d. TimeMetric ::= \u201cRan\u201d integer \u201ctests in\u201d float \u201ds\u201d. स्टेटस ::= \u201cOK\u201d | \u201cFAILED (errors=\u201d int \u201c)\u201d. ट्रेसबैक ::= 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) --------------#rangelib.RangeSetTest) ------------------------------------------------------------------------------ Traceback (सबसे हाल का कॉल अंतिम): फ़ाइल "test_rangelib.py", Line 129, test_rangelibपक्का ValueError() ValueError -------------------------------------------------------------------------------- 0.001 में 1 जांच हुई) (गड़बड़ियां=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", Line 11, in testError Self.osertEqual(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)
|
सार्वजनिक कंस्ट्रक्टर
PythonUnitTestresultsParser
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 |