PythonUnitTestResultParser
public
class
PythonUnitTestResultParser
extends MultiLineReceiver
java.lang.Object | ||
↳ | com.android.ddmlib.MultiLineReceiver | |
↳ | com.android.tradefed.testtype.PythonUnitTestResultParser |
Il interprète le résultat des tests exécutés avec le framework unittest de Python et le traduit en appels.
sur une série de ITestInvocationListener
. Le résultat de ces tests suit cet EBNF
grammaire:
Rapport Test ::= TestResult* Line TimeMetric [FailMessage*] Status. Résultat du test ::= chaîne \u201c(\u201cchaîne\u201d)\u201d \u201c\u2026\u201d État unique. FailMessage ::= EqLine \u201cERREUR:\u201d chaîne \u201c(\u201cstring\u201d)\u201d Traçage de ligne Ligne. SingleStatus ::= \u201cok\u201d | \u201cERREUR\u201d. TimeMetric ::= \u201cRan\u201d entier \u201ctest dans\u201d float \u201ds\u201d. État ::= \u201cOK\u201d | \u201cÉCHEC (erreurs=\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) ... d'accord
---------------------------------------------------------------------- J'ai exécuté 5 tests en 0,002 s
OK
Exemple de résultat (échec) test_size (test_rangelib.RangeSetTest) ... ERREUR
================================================================== ERREUR: taille_test (test_rangelib.RangeSetTest) ---------------------------------------------------------------------- Traceback (le plus récent) call last): Fichier "test_rangelib.py", ligne 129, dans test_rangelib monter ValueError() ValueError ---------------------------------------------------------------------- A exécuté 1 test en 0,001 s ÉCHEC (erreurs=1)
Exemple de résultat avec plusieurs cas particuliers (échec): testError (foo.testFoo) ... ERROR testexpectedFailure (foo.testFoo) ... échec attendu testFail (foo.testFoo) ... ÉCHEC testFailWithDocString (foo.testFoo) foo bar ... ÉCHEC testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... exclusivement 'reason foo testUnexpectedSuccess (foo.testFoo) ... opération inattendue
=================================================================== ERREUR: TestError (foo.testFoo) ---------------------------------------------------------------------- Suivi (dernier appel le plus récent): Fichier "foo.py", ligne 11, dans testError self.assertEqual(2+2, 5/0) ZeroDivisionError: division des entiers ou modulo par zéro
=================================================================================================================== ÉCHEC: testFail (foo.testFoo) ---------------------------------------------------------------------- Suivi (dernier appel le plus récent): Fichier "foo.py", ligne 8, dans testFail self.assertEqual(2+2, 5) Erreur d'assertion: 4 != 5
ÉCHEC: testFailWithDocString (foo.testFoo) barre foo ---------------------------------------------------------------------- Traceback (le plus récent) call last): Fichier "foo.py", ligne 31, dans testFailWithDocString self.assertEqual(2+2, 5) Erreur d'assertion: 4 != 5
---------------------------------------------------------------------- J'ai exécuté 8 tests en 0,001 s
ÉCHEC (échecs=2, erreurs=1, ignorés=1, échecs attendus=1, réussites inattendues=1)
À FAIRE: Envisagez de refactoriser l'ensemble de la classe, car la gestion est assez désordonnée pour le moment.
Résumé
Constructeurs publics | |
---|---|
PythonUnitTestResultParser(ITestInvocationListener listener, String runName)
Créez un |
|
PythonUnitTestResultParser(
Créez un |
|
PythonUnitTestResultParser(
Créez un |
Méthodes publiques | |
---|---|
void
|
finalizeParser()
|
boolean
|
isCancelled()
|
void
|
processNewLines(String[] lines)
Traitement de la sortie unittest Python et rapport des résultats analysés. |
void
|
setFinalizeWhenParsing(boolean shouldFinalize)
|
Constructeurs publics
PythonUnitTestResultParser
public PythonUnitTestResultParser (ITestInvocationListener listener, String runName)
Créez un PythonUnitTestResultParser
qui dépend du ITestInvocationListener
donné.
Paramètres | |
---|---|
listener |
ITestInvocationListener |
runName |
String |
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName)
Créez un PythonUnitTestResultParser
qui génère des rapports sur les ITestInvocationListener
donnés.
Paramètres | |
---|---|
listeners |
|
runName |
String |
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName, includeFilters, excludeFilters)
Créez un PythonUnitTestResultParser
qui génère des rapports sur les ITestInvocationListener
données, avec les filtres "Inclure" et "Exclure".
Paramètres | |
---|---|
listeners |
|
runName |
String |
includeFilters |
|
excludeFilters |
|
Méthodes publiques
finaliserParser
public void finalizeParser ()
est annulé
public boolean isCancelled ()
Renvoie | |
---|---|
boolean |
processNewLines
public void processNewLines (String[] lines)
Traitement de la sortie unittest Python et rapport des 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 |
setFinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
Paramètres | |
---|---|
shouldFinalize |
boolean |