PythonUnitTestResultParser
public
class
PythonUnitTestResultParser
extends MultiLineReceiver
| java.lang.Object | ||
| ↳ | com.android.ddmlib.MultiLineReceiver | |
| ↳ | com.android.tradefed.testtype.PythonUnitTestResultParser | |
Interprète la sortie des tests exécutés avec le framework unittest de Python et la traduit en appels sur une série de ITestInvocationListener. Le résultat de ces tests suit la grammaire EBNF suivante :
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+.
Exemple de résultat (réussite) : 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
---------------------------------------------------------------------- Ran 5 tests in 0.002s
OK
Exemple de résultat (échec) : 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)
Exemple de résultat avec plusieurs cas extrêmes (échec) : 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
====================================================================== ÉCHEC : 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
---------------------------------------------------------------------- Ran 8 tests in 0.001s
ÉCHEC (échecs=2, erreurs=1, ignorés=1, échecs attendus=1, réussites inattendues=1)
TODO: Consider refactoring the full class, handling is quite messy right now.
Résumé
Constructeurs publics | |
|---|---|
PythonUnitTestResultParser(
Crée un |
|
PythonUnitTestResultParser(
Créez un |
|
Méthodes publiques | |
|---|---|
void
|
finalizeParser()
|
boolean
|
isCancelled()
|
void
|
processNewLines(String[] lines)
Traitez la sortie unittest de Python et signalez les résultats analysés. |
void
|
setFinalizeWhenParsing(boolean shouldFinalize)
|
Constructeurs publics
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName)
Crée un PythonUnitTestResultParser qui dépend des ITestInvocationListener spécifiés.
| Paramètres | |
|---|---|
listeners |
|
runName |
String |
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName, includeFilters, excludeFilters)
Créez un PythonUnitTestResultParser qui génère des rapports pour les ITestInvocationListener spécifiés, avec les filtres d'inclusion et d'exclusion spécifiés.
| Paramètres | |
|---|---|
listeners |
|
runName |
String |
includeFilters |
|
excludeFilters |
|
Méthodes publiques
finalizeParser
public void finalizeParser ()
isCancelled
public boolean isCancelled ()
| Renvoie | |
|---|---|
boolean |
|
processNewLines
public void processNewLines (String[] lines)
Traitez la sortie unittest de Python et signalez les résultats analysés.
Cette méthode ne doit être appelée qu'une seule fois avec la sortie complète, contrairement à la méthode de base dans MultiLineReceiver.
| Paramètres | |
|---|---|
lines |
String : tableau contenant les nouvelles lignes. |
setFinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
| Paramètres | |
|---|---|
shouldFinalize |
boolean |