Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

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


Interpreta l'output dei test eseguiti con il framework unittest di Python e lo traduce in chiamate su una serie di ITestInvocationListener . L'output di questi test segue questa grammatica EBNF:

TestReport :: = TestResult * Line TimeMetric [FailMessage *] Status. TestResult :: = string “(“ string ”)” “…” SingleStatus. FailMessage :: = EqLine “ERROR:” string “(“ string ”)” Line Traceback Line. SingleStatus :: = “ok” | "ERRORE". TimeMetric :: = "Ran" intero "test in" float "s". Stato :: = "OK" | “FAILED (errors =” int “)”. Traceback :: = string +.

Esempio di output (passaggio): 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) ... RangeSetTest) ... ok

-------------------------------------------------- -------------------- Ha eseguito 5 test in 0,002 secondi

ok

Esempio di output (non riuscito) test_size (test_rangelib.RangeSetTest) ... ERRORE

================================================== ==================== ERRORE: test_size (test_rangelib.RangeSetTest) ---------------------- ------------------------------------------------ Rintracciare ( ultima chiamata più recente): file "test_rangelib.py", riga 129, in test_rangelib raise ValueError () ValueError --------------------------- ------------------------------------------- Eseguito 1 test in 0,001 s NON RIUSCITO (errori = 1)

Esempio di output con diversi casi limite (non riuscito): testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... fallimento previsto testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar. .. FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... ignorato 'reason foo' testUnexpectedSuccess (foo.testFoo) ... successo inaspettato

================================================== ==================== ERRORE: testError (foo.testFoo) ---------------------- ------------------------------------------------ Rintracciare ( ultima chiamata più recente): file "foo.py", riga 11, in testError self.assertEqual (2 + 2, 5/0) ZeroDivisionError: divisione intera o modulo per zero

================================================== ==================== FAIL: testFail (foo.testFoo) ---------------------- ------------------------------------------------ Rintracciare ( ultima chiamata più recente): file "foo.py", linea 8, in testFail self.assertEqual (2 + 2, 5) AssertionError: 4! = 5

================================================== ==================== FAIL: testFailWithDocString (foo.testFoo) foo bar -------------------- -------------------------------------------------- Traceback (ultima chiamata più recente): file "foo.py", linea 31, in testFailWithDocString self.assertEqual (2 + 2, 5) AssertionError: 4! = 5

-------------------------------------------------- -------------------- Ha eseguito 8 test in 0,001 secondi

FAILED (guasti = 2, errori = 1, saltato = 1, guasti previsti = 1, successi imprevisti = 1)

TODO: considera la possibilità di refactoring dell'intera classe, la gestione è piuttosto disordinata in questo momento.

Sommario

Costruttori pubblici

PythonUnitTestResultParser ( ITestInvocationListener listener, String runName)

Crea un nuovo PythonUnitTestResultParser che riporta ITestInvocationListener .

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

Crea un nuovo PythonUnitTestResultParser che riporta i dati ITestInvocationListener specificati.

Metodi pubblici

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

Elabora l'output unittest di Python e riporta i risultati analizzati.

Costruttori pubblici

PythonUnitTestResultParser

public PythonUnitTestResultParser ( ITestInvocationListener listener, 
                String runName)

Crea un nuovo PythonUnitTestResultParser che riporta ITestInvocationListener .

parametri
listener ITestInvocationListener

runName String

PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName)

Crea un nuovo PythonUnitTestResultParser che riporta i dati ITestInvocationListener specificati.

parametri
listeners

runName String

Metodi pubblici

isCancelled

public boolean isCancelled ()

ritorna
boolean

processNewLines

public void processNewLines (String[] lines)

Elabora l'output unittest di Python e riporta i risultati analizzati.

Questo metodo dovrebbe essere chiamato solo una volta con l'output completo, a differenza del metodo di base in MultiLineReceiver .

parametri
lines String