PythonUnitTestResultParser
public
class
PythonUnitTestResultParser
extends MultiLineReceiver
| java.lang.Object | ||
| ↳ | com.android.ddmlib.MultiLineReceiver | |
| ↳ | com.android.tradefed.testtype.PythonUnitTestResultParser | |
Interpretiert die Ausgabe von Tests, die mit dem unittest-Framework von Python ausgeführt werden, und übersetzt sie in Aufrufe einer Reihe von ITestInvocationListeners. Die Ausgabe dieser Tests folgt dieser EBNF-Grammatik:
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. Status ::= \u201cOK\u201d | \u201cFAILED (errors=\u201d int \u201c)\u201d. Traceback ::= string+.
Beispielausgabe (bestanden): 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
---------------------------------------------------------------------- Ran 5 tests in 0.002s
Ok
Beispielausgabe (fehlgeschlagen): test_size (test_rangelib.RangeSetTest) … ERROR
===================================================================== FEHLER: test_size (test_rangelib.RangeSetTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "test_rangelib.py", line 129, in test_rangelib raise ValueError() ValueError ---------------------------------------------------------------------- Ran 1 test in 0.001s FAILED (errors=1)
Beispielausgabe mit mehreren Grenzbedingungen (fehlgeschlagen): testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... expected failure testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar ... FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... skipped 'reason foo' testUnexpectedSuccess (foo.testFoo) ... unexpected success
===================================================================== FEHLER: testError (foo.testFoo) ---------------------------------------------------------------------- Traceback (most recent call last): File "foo.py", line 11, in testError self.assertEqual(2+2, 5/0) ZeroDivisionError: integer division or modulo by zero
====================================================================== 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
---------------------------------------------------------------------- Ran 8 tests in 0.001s
FEHLGESCHLAGEN (Fehler=2, Fehler=1, übersprungen=1, erwartete Fehler=1, unerwartete Erfolge=1)
TODO: Consider refactoring the full class, handling is quite messy right now.
Zusammenfassung
Öffentliche Konstruktoren | |
|---|---|
PythonUnitTestResultParser(
Erstellen Sie eine neue |
|
PythonUnitTestResultParser(
Erstellt eine neue |
|
Öffentliche Methoden | |
|---|---|
void
|
finalizeParser()
|
boolean
|
isCancelled()
|
void
|
processNewLines(String[] lines)
Verarbeitet die Ausgabe von Python-Unittests und meldet die geparsten Ergebnisse. |
void
|
setFinalizeWhenParsing(boolean shouldFinalize)
|
Öffentliche Konstruktoren
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName)
Erstellen Sie eine neue PythonUnitTestResultParser, die den angegebenen ITestInvocationListeners unterstellt ist.
| Parameter | |
|---|---|
listeners |
|
runName |
String |
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName, includeFilters, excludeFilters)
Erstellt eine neue PythonUnitTestResultParser, die Berichte an die angegebenen ITestInvocationListeners sendet, mit den angegebenen Ein- und Ausschlussfiltern.
| Parameter | |
|---|---|
listeners |
|
runName |
String |
includeFilters |
|
excludeFilters |
|
Öffentliche Methoden
finalizeParser
public void finalizeParser ()
isCancelled
public boolean isCancelled ()
| Returns | |
|---|---|
boolean |
|
processNewLines
public void processNewLines (String[] lines)
Verarbeitet die Ausgabe von Python-Unittests und meldet die geparsten Ergebnisse.
Diese Methode sollte nur einmal mit der vollständigen Ausgabe aufgerufen werden, im Gegensatz zur Basismethode in MultiLineReceiver.
| Parameter | |
|---|---|
lines |
String: Das Array mit den neuen Zeilen. |
setFinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
| Parameter | |
|---|---|
shouldFinalize |
boolean |