PythonUnitTestResultParser
public class PythonUnitTestResultParser
extends MultiLineReceiver
Obiekt Java.lang.Object | ||
↳ | com.android.ddmlib.MultiLineReceiver | |
↳ | com.android.tradefed.testtype.PythonUnitTestResultParser |
Interpretuje dane wyjściowe testów uruchamianych za pomocą platformy unittest Pythona i tłumaczy je na wywołania serii ITestInvocationListener
s. Wyniki tych testów są zgodne z następującą gramatyką EBNF:
TestReport ::= TestResult* Stan linii TimeMetric [FailMessage*]. TestResult ::= string \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d SingleStatus. FailMessage ::= EqLine \u201cERROR:\u201d string \u201c(\u201cstring\u201d)\u201d Linia śledzenia linii. SingleStatus ::= \u201cok\u201d | \u201cBŁĄD\u201d. TimeMetric ::= \u201cRan\u201d liczba całkowita \u201ctestuje w\u201d float \u201ds\u201d. Stan ::= \u201cOK\u201d | \u201cBŁĄD (błędy=\u201d int \u201c)\u201d. Śledzenie ::= ciąg+.
Przykładowe wyjście (przekazanie): 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
-------------------------------------------------- -------------------- Przeprowadzono 5 testów w ciągu 0,002 s
OK
Przykładowe wyjście (nie powiodło się) test_size (test_rangelib.RangeSetTest) ... BŁĄD
================================================== ==================== BŁĄD: test_size (test_rangelib.RangeSetTest) -------------------------------- ------------------------------------------------ Śledzenie ( ostatnie wywołanie ostatnie): Plik „test_rangelib.py”, linia 129, w test_rangelib podnieś ValueError() ValueError ------------------------------------- ------------------------------------------ Przeprowadzono 1 test w ciągu 0,001 s NIEUDANE (błędy=1)
Przykładowe wyjście z kilkoma przypadkami brzegowymi (niepowodzenie): testError (foo.testFoo) ... BŁĄD testExpectedFailure (foo.testFoo) ... oczekiwane niepowodzenie testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar . .. FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testPominięty (foo.testFoo) ... pominięty 'powód foo' testUnexpectedSuccess (foo.testFoo) ... nieoczekiwany sukces
================================================== ==================== BŁĄD: testError (foo.testFoo) ---------------------- ------------------------------------------------ Śledzenie ( ostatnie wywołanie): Plik „foo.py”, linia 11, w teścieError self.assertEqual(2+2, 5/0) ZeroDivisionError: dzielenie liczb całkowitych lub modulo przez zero
================================================== ==================== NIEPOwodzenie: testFail (foo.testFoo) -------------------------------- ------------------------------------------------ Śledzenie ( ostatnie wywołanie): Plik „foo.py”, linia 8, w testFail self.assertEqual(2+2, 5) AssertionError: 4 != 5
================================================== ==================== NIEPOwodzenie: testFailWithDocString (foo.testFoo) foo bar -------------------- -------------------------------------------------- Traceback (ostatnie ostatnie wywołanie): Plik „foo.py”, linia 31, w testFailWithDocString self.assertEqual(2+2, 5) AssertionError: 4 != 5
-------------------------------------------------- -------------------- Przeprowadzono 8 testów w ciągu 0,001 s
NIEUDANE (niepowodzenia=2, błędy=1, pominięte=1, oczekiwane awarie=1, nieoczekiwane sukcesy=1)
DO ZROBIENIA: Rozważ refaktoryzację całej klasy, obsługa jest obecnie dość skomplikowana.
Streszczenie
Konstruktorzy publiczni | |
---|---|
PythonUnitTestResultParser ( ITestInvocationListener listener, String runName) Utwórz nowy | |
PythonUnitTestResultParser ( listeners, String runName) PythonUnitTestResultParser ( listeners, String runName) Utwórz nowy | |
PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) Utwórz nowy |
Metody publiczne | |
---|---|
void | finalizeParser () |
boolean | isCancelled () |
void | processNewLines (String[] lines) Przetwórz dane wyjściowe testu jednostkowego języka Python i zgłoś przeanalizowane wyniki. |
void | setFinalizeWhenParsing (boolean shouldFinalize) |
Konstruktorzy publiczni
PythonUnitTestResultParser
public PythonUnitTestResultParser (ITestInvocationListener listener, String runName)
Utwórz nowy PythonUnitTestResultParser
, który raportuje do danego ITestInvocationListener
.
Parametry | |
---|---|
listener | ITestInvocationListener |
runName | String |
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName)
Utwórz nowy PythonUnitTestResultParser
, który raportuje do danego ITestInvocationListener
s.
Parametry | |
---|---|
listeners | |
runName | String |
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName, includeFilters, excludeFilters)
Utwórz nowy PythonUnitTestResultParser
, który raportuje do danego ITestInvocationListener
s, z określonymi filtrami włączania i wykluczania.
Parametry | |
---|---|
listeners | |
runName | String |
includeFilters | |
excludeFilters |
Metody publiczne
sfinalizowaćParser
public void finalizeParser ()
jest odwołany
public boolean isCancelled ()
Zwroty | |
---|---|
boolean |
procesNoweLinie
public void processNewLines (String[] lines)
Przetwórz dane wyjściowe testu jednostkowego języka Python i zgłoś przeanalizowane wyniki.
Metodę tę należy wywołać tylko raz z pełnym wyjściem, w przeciwieństwie do metody bazowej w MultiLineReceiver
.
Parametry | |
---|---|
lines | String |
setFinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
Parametry | |
---|---|
shouldFinalize | boolean |