PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

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


Interpretuje dane wyjściowe testów uruchamianych za pomocą struktury testów jednostkowych Pythona i tłumaczy je na wywołania serii ITestInvocationListener s. Dane wyjściowe z tych testów są zgodne z gramatyką EBNF:

TestReport ::= TestResult* Line TimeMetric [FailMessage*] Status. TestResult ::= ciąg „(„ciąg”)” „…” SingleStatus. FailMessage ::= EqLine „BŁĄD:” ciąg „(„ciąg”)” Linia Traceback Line. SingleStatus ::= “ok” | "BŁĄD". TimeMetric ::= „Ran” integer „testy w” float „s”. Stan ::= „OK” | „NIEPOWODZENIE (błędy =” int „)”. Traceback ::= 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_to_string_raw (test_rangelib.RangeSetTest) ... ok test_union (test_rangelib. RangeSetTest) ... ok

-------------------------------------------------- -------------------- Przeprowadził 5 testów w 0,002 s

OK

Przykładowe wyjście (nieudane) test_size (test_rangelib.RangeSetTest) ... ERROR

=========================================================== ==================== BŁĄD: test_size (test_rangelib.RangeSetTest) ---------------------- ------------------------------------------------ Śledzenie zwrotne ( ostatnie wywołanie: Plik "test_rangelib.py", wiersz 129, w test_rangelib podnieś ValueError() ValueError --------------------------- -------------------------------- Przeprowadzenie 1 testu w ciągu 0,001 s NIEPOWODZENIE (błędy=1)

Przykładowe wyjście z kilkoma przypadkami brzegowymi (nieudane): testError (foo.testFoo) ... BŁĄD 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 testPominięty (foo.testFoo) ... pominięty 'powód foo' testNieoczekiwanySukces (foo.testFoo) ... nieoczekiwany sukces

=========================================================== ==================== BŁĄD: testError (foo.testFoo) ---------------------- ------------------------------------------------ Śledzenie zwrotne ( ostatnie wywołanie: Plik "foo.py", wiersz 11, w testError self.assertEqual(2+2, 5/0) ZeroDivisionError: dzielenie liczb całkowitych lub modulo przez zero

=========================================================== ==================== BŁĄD: testFail (foo.testFoo) ---------------------- ------------------------------------------------ Śledzenie zwrotne ( ostatnie wywołanie: Plik "foo.py", wiersz 8, w testFail self.assertEqual(2+2, 5) AssertionError: 4 != 5

=========================================================== ==================== BŁĄD: testFailWithDocString (foo.testFoo) foo bar -------------------- -------------------------------------------------- Traceback (ostatnie wywołanie ostatnie): Plik "foo.py", wiersz 31, w testFailWithDocString self.assertEqual(2+2, 5) AssertionError: 4 != 5

-------------------------------------------------- -------------------- Przeprowadził 8 testów w 0,001s

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

DO ZROBIENIA: Rozważ refaktoryzację całej klasy, obsługa jest teraz dość nieuporządkowana.

Streszczenie

Konstruktorzy publiczni

PythonUnitTestResultParser ( ITestInvocationListener listener, String runName)

Utwórz nowy PythonUnitTestResultParser , który raportuje do danego ITestInvocationListener .

PythonUnitTestResultParser ( listeners, String runName) PythonUnitTestResultParser ( listeners, String runName)

Utwórz nowy PythonUnitTestResultParser , który raportuje do danego ITestInvocationListener s.

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 PythonUnitTestResultParser , który raportuje do danych ITestInvocationListener s, z określonymi filtrami włączania i wykluczania.

Metody publiczne

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

Przetwarzaj wyniki testów jednostkowych języka Python i raportuj wyniki analizy.

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 danych ITestInvocationListener s, z określonymi filtrami włączania i wykluczania.

Parametry
listeners

runName String

includeFilters

excludeFilters

Metody publiczne

finalizeParser

public void finalizeParser ()

jest odwołany

public boolean isCancelled ()

Zwroty
boolean

procesNewLines

public void processNewLines (String[] lines)

Przetwarzaj wyniki testów jednostkowych języka Python i raportuj wyniki analizy.

Ta metoda powinna być wywoływana tylko raz z pełnymi danymi wyjściowymi, w przeciwieństwie do metody podstawowej w MultiLineReceiver .

Parametry
lines String

setFinalizeWhenParsing

public void setFinalizeWhenParsing (boolean shouldFinalize)

Parametry
shouldFinalize boolean