PythonUnitTestResultParser
public
class
PythonUnitTestResultParser
extends MultiLineReceiver
java.lang.Object | ||
↳ | com.android.ddmlib.MultiLineReceiver | |
↳ | com.android.tradefed.testtype.PythonUnitTestResultParser |
Interpretuje dane wyjściowe testów przeprowadzonych za pomocą modułu unittest w Pythonie i przekształca je w wywołania dotyczące serii ITestInvocationListener
. Wyniki tych testów są zgodne z tą gramatyką EBNF:
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. Stan ::= \u201cOK\u201d | \u201cFAILED (errors=\u201d int \u201c)\u201d. traceback ::= string+.
Przykładowy wynik (pozytywny): 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
---------------------------------------------------------------------- Przetestowano 5 testów w 0,002 s
OK
Przykładowy wynik (niepowodzenie) test_size (test_rangelib.RangeSetTest) … ERROR
====================================================================== ERROR: 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)
Przykładowe dane wyjściowe z kilkoma przypadkami szczególnymi (niepowodzenie): testError (foo.testFoo)… ERROR testExpectedFailure (foo.testFoo)… oczekiwane niepowodzenie testFail (foo.testFoo)… niepowodzenie testFailWithDocString (foo.testFoo) foo bar… niepowodzenie testOk (foo.testFoo)… ok testOkWithDocString (foo.testFoo) foo bar… ok testSkipped (foo.testFoo)… pominięcie 'reason foo' testUnexpectedSuccess (foo.testFoo)… nieoczekiwany sukces
====================================================================== ERROR: 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
---------------------------------------------------------------------- Przetestowano 8 testów w 0,001 s
NIEPOWODNIE (nieudane próby=2, błędy=1, pominięcia=1, oczekiwane niepowodzenia=1, nieoczekiwane powodzenia=1)
TODO: rozważ przeformowanie całej klasy, ponieważ obecnie obsługa jest dość niechlujna
Podsumowanie
Konstruktory publiczne | |
---|---|
PythonUnitTestResultParser(
Utwórz nową |
|
PythonUnitTestResultParser(
Utwórz nowy element |
Metody publiczne | |
---|---|
void
|
finalizeParser()
|
boolean
|
isCancelled()
|
void
|
processNewLines(String[] lines)
Przetwarzanie danych wyjściowych z testów Pythona i zgłaszanie wyników zanalizowanych danych. |
void
|
setFinalizeWhenParsing(boolean shouldFinalize)
|
Konstruktory publiczne
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName)
Utwórz nową PythonUnitTestResultParser
, która przesyła dane do podanych ITestInvocationListener
.
Parametry | |
---|---|
listeners |
|
runName |
String |
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName, includeFilters, excludeFilters)
Utwórz nowy element PythonUnitTestResultParser
, który będzie raportował dane do podanych elementów ITestInvocationListener
, z uwzględnieniem określonych filtrów uwzględniania i wykluczania.
Parametry | |
---|---|
listeners |
|
runName |
String |
includeFilters |
|
excludeFilters |
|
Metody publiczne
finalizeParser
public void finalizeParser ()
isCancelled
public boolean isCancelled ()
Zwroty | |
---|---|
boolean |
processNewLines
public void processNewLines (String[] lines)
Przetwarzanie danych wyjściowych z testów Pythona i zgłaszanie wyników zanalizowanych danych.
W przeciwieństwie do metody podstawowej w MultiLineReceiver
ta metoda powinna być wywoływana tylko raz z pełnym wynikiem.
Parametry | |
---|---|
lines |
String |
setFinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
Parametry | |
---|---|
shouldFinalize |
boolean |