PythonUnitTestResultParser
public
class
PythonUnitTestResultParser
extends MultiLineReceiver
| java.lang.Object | ||
| ↳ | com.android.ddmlib.MultiLineReceiver | |
| ↳ | com.android.tradefed.testtype.PythonUnitTestResultParser | |
Interpretuje wyniki testów przeprowadzonych za pomocą platformy unittest w Pythonie i przekształca je w wywołania serii ITestInvocationListener. Wyniki tych testów są zgodne z tą gramatyką EBNF:
TestReport ::= TestResult* Line TimeMetric [FailMessage*] Status. TestResult ::= string \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d SingleStatus. FailMessage ::= EqLine \u201cERROR:\u201d string \u201c(\u201cstring\u201d)\u201d Line Traceback Line. SingleStatus ::= \u201cok\u201d | \u201cERROR\u201d. TimeMetric ::= \u201cRan\u201d integer \u201ctests in\u201d float \u201ds\u201d. Status ::= \u201cOK\u201d | \u201cFAILED (errors=\u201d int \u201c)\u201d. Traceback ::= string+.
Przykładowe wyniki (pozytywne): 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 0,002 s
OK
Przykładowe dane wyjściowe (nieudany) test_size (test_rangelib.RangeSetTest) ... ERROR
===================================================================== ERROR: test_size (test_rangelib.RangeSetTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "test_rangelib.py", line 129, in test_rangelib raise ValueError() ValueError ---------------------------------------------------------------------- Ran 1 test in 0.001s FAILED (errors=1)
Przykładowe dane wyjściowe z kilkoma przypadkami brzegowymi (niepowodzenie): testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... expected failure testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar ... FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... skipped 'reason foo' testUnexpectedSuccess (foo.testFoo) ... unexpected success
====================================================================== ERROR: testError (foo.testFoo) ---------------------------------------------------------------------- Traceback (most recent call last): File "foo.py", line 11, in testError self.assertEqual(2+2, 5/0) ZeroDivisionError: integer division or modulo by zero
====================================================================== FAIL: testFail (foo.testFoo) ---------------------------------------------------------------------- Traceback (most recent call last): File "foo.py", line 8, in testFail self.assertEqual(2+2, 5) AssertionError: 4 != 5
===================================================================== FAIL: testFailWithDocString (foo.testFoo) foo bar ---------------------------------------------------------------------- Traceback (most recent call last): File "foo.py", line 31, in testFailWithDocString self.assertEqual(2+2, 5) AssertionError: 4 != 5
---------------------------------------------------------------------- Przeprowadzono 8 testów w 0,001 s
NIEPOWODZENIE (failures=2, errors=1, skipped=1, expected failures=1, unexpected successes=1)
TODO: Rozważ przekształcenie całej klasy, ponieważ obecnie jej obsługa jest dość nieuporządkowana.
Podsumowanie
Publiczne konstruktory | |
|---|---|
PythonUnitTestResultParser(
Utwórz nowego |
|
PythonUnitTestResultParser(
Utwórz nowy |
|
Metody publiczne | |
|---|---|
void
|
finalizeParser()
|
boolean
|
isCancelled()
|
void
|
processNewLines(String[] lines)
Przetwarzanie danych wyjściowych testów jednostkowych w Pythonie i raportowanie przeanalizowanych wyników. |
void
|
setFinalizeWhenParsing(boolean shouldFinalize)
|
Publiczne konstruktory
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName)
Utwórz nowego PythonUnitTestResultParser, który podlega podane ITestInvocationListener.
| Parametry | |
|---|---|
listeners |
|
runName |
String |
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName, includeFilters, excludeFilters)
Utwórz nowy PythonUnitTestResultParser, który będzie raportować do podanych ITestInvocationListener, z określonymi filtrami Uwzględnij i Wyklucz.
| Parametry | |
|---|---|
listeners |
|
runName |
String |
includeFilters |
|
excludeFilters |
|
Metody publiczne
finalizeParser
public void finalizeParser ()
isCancelled
public boolean isCancelled ()
| Zwroty | |
|---|---|
boolean |
|
processNewLines
public void processNewLines (String[] lines)
Przetwarzanie danych wyjściowych testów jednostkowych w Pythonie i raportowanie przeanalizowanych wyników.
W przeciwieństwie do metody podstawowej w MultiLineReceiver tę metodę należy wywołać tylko raz z pełnym wynikiem.
| Parametry | |
|---|---|
lines |
String: tablica zawierająca nowe wiersze. |
setFinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
| Parametry | |
|---|---|
shouldFinalize |
boolean |