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 ITestInvocationListener
s. 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(
Erstellt eine neue |
|
PythonUnitTestResultParser(
Erstellt eine neue |
Ö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 ITestInvocationListener
s berichtet.
Parameter | |
---|---|
listeners |
|
runName |
String |
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName, includeFilters, excludeFilters)
Erstellt eine neue PythonUnitTestResultParser
, die Berichte für die angegebenen ITestInvocationListener
s 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 |