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 ( 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) 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 |