Analiza wyników jednostki w Pythonie

public class PythonUnitTestResultParser
extends MultiLineReceiver

java.lang.Object
com.android.ddmlib.MultiLineReceiver
  com.android.tradefed.testtype.PythonUnitTestResultParser


Interpretuje dane wyjściowe z testów przeprowadzonych za pomocą platformy Unittest w Pythonie i przekłada je na wywołania w serii ITestInvocationListener s. Wyniki tych testów są zgodne z tym EBNF gramatyka:

TestReport ::= TestResult* Line TimeMetric [FailMessage*] Status. TestResult ::= string \u201c(\u201cciąg\u201d)\u201d \u201c\u2026\u201d SingleStatus. ErrorMessage ::= EqLine \u201cERROR:\u201d string \u201c(\u201cstring\u201d)\u201d Śledzenie wierszy Linia. SingleStatus ::= \u201cok\u201d | \u201cBŁĄD\u201d. TimeMetric ::= \u201cRan\u201d liczba całkowita \u201ctests in\u201d zmiennoprzecinkowa \u201ds\u201d. Stan ::= \u201cOK\u201d | \u201cFAILED (errors=\u201d int \u201c)\u201d. Śledzenie ::= ciąg+.

Przykładowe dane wyjściowe (przekazywanie): test_size (test_rangelib.RangeSetTest) ... ok test_str (test_rangelib.RangeSetTest) ... ok test_subtract (test_rangelib.RangeSetTest) ... ok test_do_ciągu_raw (test_rangelib.RangeSetTest) ... ok test_union (test_rangelib.RangeSetTest) ... OK

---------------------------------------------------------------------- Przeprowadzono 5 testów w czasie 0,002 s

OK

Przykładowe dane wyjściowe (niepowodzenie) test_size (test_rangelib.RangeSetTest) ... ERROR

==================================================================== BŁĄD: rozmiar_testowy (test_rangelib.RangeSetTest) ---------------------------------------------------------------------- Śledzenie wsteczne (najnowsze ostatnim wywołaniem): plik „test_rangelib.py”, wiersz 129, w test_rangelib change ValueError() ValueError. ---------------------------------------------------------------------- Przeprowadzono 1 test w ciągu 0,001 s BŁĄD (błędy=1)

Przykładowe dane wyjściowe z kilkoma przypadkiem skrajnym (niepowodzenie): testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... oczekiwany błąd testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar ... FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... pominięto 'reason „foo” testNieoczekiwany sukces (foo.testFoo) ... nieoczekiwany sukces

===================================================================== BŁĄD: testError (foo.testFoo) ---------------------------------------------------------------------- Śledzenie (ostatnie wywołanie jako ostatnie): plik „foo.py”, wiersz 11, w trybie testError Self.assertEqual(2+2, 5/0) Błąd ZeroDivisionError: dzielenie liczby całkowitej lub modulo przez zero.

===================================================================== FAIL: testFail (foo.testFoo) ---------------------------------------------------------------------- Śledzenie (ostatnie wywołanie): plik „foo.py”, wiersz 8, w testFail Self.assertEqual(2+2, 5) AssertionError: 4 != 5

==================================================================== FAIL: testFailWithDocString (foo.testFoo) foo bar ---------------------------------------------------------------------- Śledzenie wsteczne (najnowsze ostatni wywołanie): plik „foo.py”, wiersz 31, w testFailWithDocString Self.assertEqual(2+2, 5) AssertionError: 4 != 5

---------------------------------------------------------------------- Przeprowadzono 8 testów w ciągu 0,001 s

NIEPOWODZENIE (failures=2, errors=1, pominięte=1, oczekiwane błędy=1, nieoczekiwane sukcesy=1)

DO ZROBIENIA: rozważ refaktoryzację całej klasy, ponieważ teraz obsługa jest dość chaotyczna.

Podsumowanie

Konstruktory publiczne

PythonUnitTestResultParser(ITestInvocationListener listener, String runName)

Utwórz nowy element PythonUnitTestResultParser, który zgłasza dane użytkownikowi ITestInvocationListener.

PythonUnitTestResultParser( listeners, String runName)

Utwórz nowy element typu PythonUnitTestResultParser, który zgłasza dane do odpowiednich elementów typu ITestInvocationListener.

PythonUnitTestResultParser( listeners, String runName, includeFilters, excludeFilters)

Utwórz nowy typ PythonUnitTestResultParser, który będzie raportować do określonych elementów typu ITestInvocationListener z określonymi filtrami uwzględniania i wykluczania.

Metody publiczne

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

Przetwarzaj dane wyjściowe testu jednostkowego w Pythonie i zgłaszaj przeanalizowane wyniki.

void setFinalizeWhenParsing(boolean shouldFinalize)

Konstruktory publiczne

Analiza wyników jednostki w Pythonie

public PythonUnitTestResultParser (ITestInvocationListener listener, 
                String runName)

Utwórz nowy element PythonUnitTestResultParser, który zgłasza dane użytkownikowi ITestInvocationListener.

Parametry
listener ITestInvocationListener

runName String

Analiza wyników jednostki w Pythonie

public PythonUnitTestResultParser ( listeners, 
                String runName)

Utwórz nowy element typu PythonUnitTestResultParser, który zgłasza dane do odpowiednich elementów typu ITestInvocationListener.

Parametry
listeners

runName String

Analiza wyników jednostki w Pythonie

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

Utwórz nowy typ PythonUnitTestResultParser, który będzie raportować do określonych elementów typu ITestInvocationListener z określonymi filtrami uwzględniania i wykluczania.

Parametry
listeners

runName String

includeFilters

excludeFilters

Metody publiczne

finalizeParser

public void finalizeParser ()

Anulowano

public boolean isCancelled ()

Zwroty
boolean

procesNowe wiersze

public void processNewLines (String[] lines)

Przetwarzaj dane wyjściowe testu jednostkowego w Pythonie i zgłaszaj przeanalizowane wyniki.

W przeciwieństwie do metody podstawowej w MultiLineReceiver

Parametry
lines String

setFinalizeWithParsing

public void setFinalizeWhenParsing (boolean shouldFinalize)

Parametry
shouldFinalize boolean