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(
Utwórz nowy element typu |
|
PythonUnitTestResultParser(
Utwórz nowy typ |
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 |