Tutoriel Pytest : Comment Pytest génère des rapports de test

1. Comment pytest génère-t-il un rapport de test ?

pytest est un framework de test Python populaire qui peut être utilisé pour écrire et exécuter différents types de tests. Par rapport aux frameworks de test traditionnels basés sur les tests unitaires, pytest est plus flexible et facile à utiliser, et prend en charge diverses extensions de plug-in. Dans le même temps, pytest fournit également la fonction de génération de rapports de test, ce qui peut aider les développeurs à mieux comprendre les résultats des tests et à gérer les cas de test.

pytest peut utiliser plusieurs plug-ins pour générer des rapports de test. Les plug-ins couramment utilisés incluent pytest-html, pytest-json, pytest-xdist, etc. Ces plug-ins peuvent générer des résultats de test dans des fichiers aux formats HTML, JSON et XML. , ou dans la commande Un récapitulatif des résultats du test s'affiche dans le terminal de ligne. Parmi eux, le plug-in pytest-html est le plug-in le plus couramment utilisé pour générer des rapports de test au format HTML, donc ce qui suit utilisera pytest-html comme exemple à présenter.

    1. Installez le plug-in pytest-html

Avant d'utiliser le plugin pytest-html pour générer des rapports de test, vous devez d'abord installer ce plugin. Il peut être installé via l'outil pip, il suffit d'exécuter la commande suivante :

pip install pytest-html

    2. Exécutez pytest et générez un rapport de test

Après avoir installé le plugin pytest-html, ajoutez l'option --html lors de l'exécution de pytest pour générer un rapport de test. Par exemple, exécutez la commande suivante pour exécuter tous les fichiers de test commençant par test_ dans le répertoire actuel et enregistrez les résultats du test dans le fichier report.html :

pytest --html=report.html

Après l'exécution, pytest exécutera automatiquement tous les cas de test et générera un fichier report.html. Si vous souhaitez enregistrer le rapport dans un dossier spécifié, vous pouvez utiliser la commande suivante :

pytest --html=./report/report.html

Cela enregistrera le rapport de test dans le fichier report.html du dossier de rapport.

    3. Afficher le rapport de test

Une fois le rapport de test généré, vous pouvez afficher le contenu du rapport via un navigateur. Prenez le navigateur Chrome comme exemple, recherchez le fichier report.html et double-cliquez pour l'ouvrir, et vous pouvez afficher le rapport de test dans le navigateur. Le rapport de test comprend généralement un résumé des résultats du test, des détails sur le cas de test, le temps d'exécution du cas de test, des informations sur les erreurs, etc. Le format et le contenu spécifiques peuvent être ajustés en fonction des paramètres de configuration de pytest-html et de l'écriture du cas de test.

2. Comment pytest affiche-t-il le rapport de test ?

Ouvrez le fichier de rapport de test (tel que report.html) dans le navigateur pour afficher le rapport de test. Les rapports de test incluent généralement un résumé des résultats des tests, des détails sur les cas de test, le temps d'exécution des cas de test, des informations sur les erreurs, etc., ce qui peut aider les développeurs à comprendre rapidement l'état des tests, la couverture des cas de test et les informations sur les erreurs, améliorant ainsi l'efficacité et la qualité des tests.

3. Quelles configurations peuvent être utilisées pour définir le rapport de test ?

Le plug-in pytest-html fournit plusieurs éléments de configuration pour aider les développeurs à personnaliser la méthode de génération et le format de sortie des rapports de test. Par exemple, vous pouvez définir le chemin de génération du rapport, le titre du rapport, les informations d'en-tête de rapport et les informations de bas de rapport via les éléments de configuration suivants :

   1. Chemin de génération du rapport

Vous pouvez utiliser l'option --html pour définir le chemin de génération du rapport, par exemple :

pytest --html=./report/report.html

    2. Titre du rapport

Le titre du rapport peut être défini à l'aide de l'option --title, par exemple :

pytest --html=./report/report.html --title="My Test Report"

    3. Informations d'en-tête du rapport

Vous pouvez utiliser l'option --header pour définir les informations d'en-tête du rapport, par exemple :

pytest --html=./report/report.html --header="<h1>My Test Report</h1>"

    4. Signaler les informations de fond

Vous pouvez utiliser l'option --footer pour définir les informations en bas du rapport, par exemple :

pytest --html=./report/report.html --footer="<p>Generated by pytest-html</p>"

Vous pouvez également définir des styles, des captures d'écran, des graphiques circulaires et des graphiques à barres via d'autres éléments de configuration. En outre, pytest-html prend également en charge des fonctions telles que l'affichage multilingue et multi-navigateur et la sortie de divers types de résultats, ce qui améliore considérablement l'efficacité et la qualité de la génération de rapports de test.

4. Le processus complet de génération de rapports de test par pytest

Ensuite, nous utiliserons un exemple simple pour présenter comment utiliser le plugin pytest-html pour générer des rapports de test. Supposons que nous ayons un fichier nommé calc.py , qui contient deux fonctions add() et subtract(), qui sont utilisées pour réaliser l'addition et la soustraction de deux nombres. Nous avons écrit un ensemble de cas de test (test_calc.py) pour tester ces deux fonctions, le code est le suivant :

import pytest
from calc import add, subtract

def test_add():
    assert add(2, 3) == 5
    assert add(3, 4) == 7

def test_subtract():
    assert subtract(5, 2) == 3
    assert subtract(9, 4) == 5

Dans ce cas de test, nous utilisons le framework de test pytest et l'instruction assert pour tester les fonctions add() et subtract(). Maintenant, nous voulons utiliser le plugin pytest-html pour générer des rapports de test, les étapes sont les suivantes :

    1. Installez le plug-in pytest-html

Exécutez la commande suivante sur la ligne de commande pour installer le plug-in pytest-html :

pip install pytest-html

   2. Exécutez pytest et générez un rapport de test

Exécutez les commandes suivantes sur la ligne de commande pour exécuter le scénario de test et générer un rapport de test :

pytest --html=report.html

    3. Afficher le rapport de test

Ouvrez le fichier report.html dans votre navigateur pour afficher le rapport de test. Le rapport de test affichera le résumé des résultats du test, les détails du cas de test, le temps d'exécution du cas de test, les messages d'erreur, etc.

5. Interprétation du rapport de test généré par Pytest

Le rapport de test généré par pytest contient généralement les parties suivantes :

    1. Informations d'en-tête du rapport

Les informations d'en-tête de rapport incluent généralement le titre du rapport, le temps de génération, le nombre total de cas de test et le temps d'exécution, etc. Par exemple:

<h1>Mon rapport de test</h1>
<p>Généré le 2023-06-17 01:30:41</p>
<p>2 tests exécutés en 0,01 seconde</p>
 

 

    2. Résumé des résultats des tests

Le résumé des résultats du test est une partie importante du rapport de test, qui peut aider les développeurs à comprendre rapidement l'état du test et la couverture du test. Les résumés des résultats des tests comprennent généralement les sections suivantes :

  • Résultat global : combien de cas de test ont été exécutés au total, combien de cas de test ont réussi et combien de cas de test ont échoué.
  • Catégorie de test : les cas de test sont classés en fonction de modules fonctionnels ou de types de test, tels que test unitaire, test d'intégration, test de performance, etc.
  • Consommation de temps de test : le temps d'exécution de chaque cas de test et le temps d'exécution global.

Par exemple:

Résumé du test
-------------
réussi : 2
échoué : 0
Temps total : 0,01 s

    3. Détails du cas de test

Les détails des cas de test incluent généralement le nom du cas de test, le résultat de l'exécution du cas de test, le temps d'exécution du cas de test, des informations supplémentaires sur le cas de test (le cas échéant), un message d'erreur, etc. Par exemple:

test_add (test_calc.py::test_add)
Passé en 0.001s

test_subtract (test_calc.py::test_subtract)
Passé en 0.002s

 

    4. Message d'erreur

Si l'exécution du scénario de test échoue, le rapport de test affiche le message d'erreur, la cause de l'erreur et la pile d'erreurs pour aider les développeurs à localiser rapidement le problème et à le résoudre. Par exemple:

test_add (test_calc.py::test_add)
E AssertionError : assert add(2, 3) == 6
E + where add(2, 3) = 5

6. Résumé

Cet article explique comment utiliser le plug-in pytest-html pour générer des rapports de test et fournit des étapes de fonctionnement détaillées, des éléments de configuration et des exemples de codes. En générant des rapports de test, il peut aider les développeurs à mieux comprendre les résultats des tests et à gérer les cas de test, améliorant ainsi la qualité des logiciels et l'efficacité du développement. Dans le même temps, d'autres fonctions et plug-ins de pytest peuvent également être étendus pour répondre à différentes exigences de test.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_40025666/article/details/131256910
conseillé
Classement