PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

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


Interpreta el resultado de las pruebas ejecutadas con el marco unittest de Python y lo traduce en llamadas en una serie de ITestInvocationListener s. El resultado de estas pruebas sigue esta gramática EBNF:

TestReport ::= TestResult* Line TimeMetric [FailMessage*] Estado. TestResult ::= string \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d SingleStatus. FailMessage ::= EqLine \u201cERROR:\u201d string \u201c(\u201cstring\u201d)\u201d Line Traceback Line. EstadoÚnico ::= \u201cok\u201d | \u201cERROR\u201d. TimeMetric ::= \u201cRan\u201d entero \u201ctests en\u201d float \u201ds\u201d. Estado ::= \u201cOK\u201d | \u201cFALLIDO (errores=\u201d int \u201c)\u201d. Seguimiento ::= cadena+.

Salida de ejemplo (aprobación): 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) ... está bien

-------------------------------------------------- -------------------- Realizó 5 pruebas en 0,002 s

DE ACUERDO

Ejemplo de salida (fallido) test_size (test_rangelib.RangeSetTest) ... ERROR

================================================== ==================== ERROR: test_size (test_rangelib.RangeSetTest) ---------------------- ------------------------------------------------ Rastrear ( última llamada más reciente): Archivo "test_rangelib.py", línea 129, en test_rangelib aumentar ValueError() ValueError --------------------------- ------------------------------------------- Ejecutó 1 prueba en 0.001s FALLÓ (errores=1)

Salida de ejemplo con varios casos extremos (fallido): testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... falla esperada testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar . .. FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... omitido 'motivo foo' testUnexpectedSuccess (foo.testFoo) ... éxito inesperado

================================================== ==================== ERROR: testError (foo.testFoo) ---------------------- ------------------------------------------------ Rastrear ( última llamada más reciente): Archivo "foo.py", línea 11, en testError self.assertEqual(2+2, 5/0) ZeroDivisionError: división entera o módulo por cero

================================================== ==================== FALLA: pruebaFalla (foo.testFoo) ---------------------- ------------------------------------------------ Rastrear ( última llamada más reciente): Archivo "foo.py", línea 8, en testFail self.assertEqual(2+2, 5) AssertionError: 4 != 5

================================================== ==================== FALLO: testFailWithDocString (foo.testFoo) foo bar -------------------- -------------------------------------------------- Rastreo (última llamada más reciente): Archivo "foo.py", línea 31, en testFailWithDocString self.assertEqual(2+2, 5) AssertionError: 4 != 5

-------------------------------------------------- -------------------- Realizó 8 pruebas en 0,001 s

FALLIDO (fallos=2, errores=1, omitido=1, fallos esperados=1, éxitos inesperados=1)

TODO: considere refactorizar la clase completa, el manejo es bastante complicado en este momento.

Resumen

Constructores públicos

PythonUnitTestResultParser ( ITestInvocationListener listener, String runName)

Cree un nuevo PythonUnitTestResultParser que informe al ITestInvocationListener dado.

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

Cree un nuevo PythonUnitTestResultParser que informe a los ITestInvocationListener s dados.

PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters)

Cree un nuevo PythonUnitTestResultParser que informe a los ITestInvocationListener dados, con filtros de inclusión y exclusión especificados.

Métodos públicos

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

Procese la salida de la prueba unitaria de Python e informe los resultados analizados.

void setFinalizeWhenParsing (boolean shouldFinalize)

Constructores públicos

PythonUnitTestResultParser

public PythonUnitTestResultParser (ITestInvocationListener listener, 
                String runName)

Cree un nuevo PythonUnitTestResultParser que informe al ITestInvocationListener dado.

Parámetros
listener ITestInvocationListener

runName String

PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName)

Cree un nuevo PythonUnitTestResultParser que informe a los ITestInvocationListener s dados.

Parámetros
listeners

runName String

PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName, 
                 includeFilters, 
                 excludeFilters)

Cree un nuevo PythonUnitTestResultParser que informe a los ITestInvocationListener dados, con filtros de inclusión y exclusión especificados.

Parámetros
listeners

runName String

includeFilters

excludeFilters

Métodos públicos

finalizarParser

public void finalizeParser ()

está cancelado

public boolean isCancelled ()

Devoluciones
boolean

procesarNuevasLíneas

public void processNewLines (String[] lines)

Procese la salida de la prueba unitaria de Python e informe los resultados analizados.

Este método debe llamarse solo una vez con la salida completa, a diferencia del método base en MultiLineReceiver .

Parámetros
lines String

setFinalizeWhenParsing

public void setFinalizeWhenParsing (boolean shouldFinalize)

Parámetros
shouldFinalize boolean