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 auf einer Reihe von ITestInvocationListeners. Die Ausgabe dieser Tests folgt diesem EBNF Grammatik:

TestReport ::= TestResult* Line TimeMetric [FailMessage*] Status. TestResult ::= Zeichenfolge \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d SingleStatus. FailMessage ::= EqLine \u201cERROR:\u201d String \u201c(\u201cstring\u201d)\u201d Zeilen-Nachverfolgung Linie. SingleStatus ::= \u201cok\u201d | \u201cFEHLER\u201d. TimeMetric ::= \u201cRan\u201d Ganzzahl \u201cTests in\u201d Gleitkommazahl \u201ds\u201d. Status ::= \u201cOK\u201d | \u201cFAILED (Fehler=\u201d int \u201c)\u201d. Traceback ::= Zeichenfolge+.

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) ... okay

---------------------------------------------------------------------- 5 Tests in 0,002 s ausgeführt

Ok

Beispielausgabe (fehlgeschlagen) test_size (test_rangelib.RangeSetTest) ... ERROR

===================================================================== FEHLER: test_size (test_rangelib.RangeSetTest) ---------------------------------------------------------------------- Traceback (neueste letzten Aufruf): Datei "test_rangelib.py", Zeile 129, in test_rangelib erhöhen ValueError() ValueError ---------------------------------------------------------------------- 1 Test in 0,001 s ausgeführt FAILED (Fehler=1)

Beispielausgabe mit mehreren Grenzfällen (fehlgeschlagen): testError (foo.testFoo) ... ERROR testexpectedFailure (foo.testFoo) ... erwarteter Fehler testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar ... FAIL testOK (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... übersprungen 'reason foo testUnexpectedSuccess (foo.testFoo) ... unerwarteter Erfolg

===================================================================== FEHLER: testError (foo.testFoo) ---------------------------------------------------------------------- Traceback (letzter Aufruf zuletzt): Datei "foo.py", Zeile 11, in testError Self.assertEqual(2+2, 5/0) ZeroDivisionError: Ganzzahldivision oder Modulo durch Null

==================================================================== FEHLGESCHLAGEN: testFail (foo.testFoo) ---------------------------------------------------------------------- Traceback (letzter Aufruf zuletzt): Datei "foo.py", Zeile 8, in testFail Self.assertEqual(2+2, 5) AssertionError: 4 != 5

==================================================================== FEHLGESCHLAGEN: testFailWithDocString (foo.testFoo) foo bar ---------------------------------------------------------------------- Traceback (neueste call last): Datei "foo.py", Zeile 31, in testFailWithDocString Self.assertEqual(2+2, 5) AssertionError: 4 != 5

---------------------------------------------------------------------- 8 Tests in 0,001 s ausgeführt

FAILED (Fehler=2, Fehler=1, übersprungen=1, erwartete Fehler=1, unerwartete Erfolge=1)

AUFGABE: Erwägen Sie, die gesamte Klasse zu refaktorieren. Die Handhabung ist derzeit ziemlich chaotisch.

Zusammenfassung

Öffentliche Konstruktoren

PythonUnitTestResultParser(ITestInvocationListener listener, String runName)

Erstellt eine neue PythonUnitTestResultParser, die unter die angegebenen ITestInvocationListener berichtet.

PythonUnitTestResultParser( listeners, String runName)

Erstellt eine neue PythonUnitTestResultParser, die unter die angegebenen ITestInvocationListeners berichtet.

PythonUnitTestResultParser( listeners, String runName, includeFilters, excludeFilters)

Erstellt eine neue PythonUnitTestResultParser, die Berichte für die angegebenen ITestInvocationListeners erstellt, mit festgelegten Filtern zum Einschließen und Ausschließen.

Öffentliche Methoden

void finalizeParser()
boolean isCancelled()
void processNewLines(String[] lines)

Python-Unittest-Ausgabe verarbeiten und geparste Ergebnisse melden.

void setFinalizeWhenParsing(boolean shouldFinalize)

Öffentliche Konstruktoren

PythonUnitTestResultParser

public PythonUnitTestResultParser (ITestInvocationListener listener, 
                String runName)

Erstellt eine neue PythonUnitTestResultParser, die unter die angegebenen ITestInvocationListener berichtet.

Parameter
listener ITestInvocationListener

runName String

PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName)

Erstellt eine neue PythonUnitTestResultParser, die unter die angegebenen ITestInvocationListeners berichtet.

Parameter
listeners

runName String

PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName, 
                 includeFilters, 
                 excludeFilters)

Erstellt eine neue PythonUnitTestResultParser, die Berichte für die angegebenen ITestInvocationListeners erstellt, mit festgelegten Filtern zum Einschließen und Ausschließen.

Parameter
listeners

runName String

includeFilters

excludeFilters

Öffentliche Methoden

FinalizeParser

public void finalizeParser ()

isCancelled (Abgebrochen)

public boolean isCancelled ()

Returns
boolean

ProcessNewLines

public void processNewLines (String[] lines)

Python-Unittest-Ausgabe verarbeiten und geparste Ergebnisse melden.

Diese Methode sollte nur einmal mit der vollständigen Ausgabe aufgerufen werden, im Gegensatz zur Basismethode in MultiLineReceiver

Parameter
lines String

setFinalizeWhenParsing

public void setFinalizeWhenParsing (boolean shouldFinalize)

Parameter
shouldFinalize boolean