Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Cadre Pytest : Configuration et Exécution des Tests Automatisés | Cadre Pytest
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Concepts Avancés de Python

bookCadre Pytest : Configuration et Exécution des Tests Automatisés

Installation

Avant toute chose, il est nécessaire d’installer Pytest. Ce processus est simple grâce au gestionnaire de paquets Python, pip. Ouvrir la ligne de commande ou le terminal, puis saisir la commande suivante :

pip install pytest

Il est toujours préférable d’effectuer cette opération dans l’environnement virtuel du projet.

Explication de la syntaxe

L’une des raisons pour lesquelles Pytest est très apprécié dans la communauté Python est sa syntaxe simple et facile à rédiger. Contrairement à certains autres frameworks de test, Pytest permet d’écrire des codes de test de manière très lisible. Aperçu rapide :

  • Fichiers de test : pytest reconnaît les fichiers qui commencent par test_ ou se terminent par _test.py ;
  • Fonctions de test : les fonctions qui débutent par test_ dans ces fichiers sont automatiquement identifiées comme fonctions de test par pytest ;
  • Assertions : utiliser l’instruction assert intégrée à Python pour vérifier que certaines conditions sont remplies.

Exemples de code

Application pratique avec un exemple simple. Supposons qu’une fonction appelée add additionne deux nombres. Voici comment écrire un test pour cette fonction avec Pytest :

# content of test_example.py
def add(a, b):
    return a + b

def test_add():
    assert add(2, 3) == 5
    assert add('space', 'ship') == 'spaceship'

Cet exemple montre deux tests : un pour les nombres et un autre pour les chaînes de caractères. Les instructions assert vérifient si la fonction se comporte comme attendu.

Exécution des tests et interprétation des résultats

Lancer les tests avec Pytest est très simple. Se placer dans le répertoire contenant le fichier de test et exécuter la commande suivante :

pytest

Pytest détecte et exécute automatiquement tous les tests du répertoire, puis affiche un rapport indiquant si chaque test a réussi ou échoué. Exemple de sortie :

===================== test session starts ======================
collected 2 items

test_example.py ..                                         [100%]

====================== 2 passed in 0.12s =======================

Chaque point représente un test réussi. Pytest fournit des informations détaillées pour les tests échoués, incluant le numéro de ligne et la raison de l’échec, ce qui facilite le diagnostic et la correction des problèmes.

===================== test session starts ======================
collected 2 items

test_example.py .F                                         [100%]

====================== FAILURES ==========================
____________________ test_add _________________________

    def test_add():
>       assert add(2, 3) == 8
E       AssertionError: assert 5 == 8
E        +  where 5 = add(2, 3)

test_example.py:6: AssertionError
===================== 1 passed, 1 failed in 0.23s ======================

Interprétation des résultats

  • Réussi (.) : le test s’est exécuté avec succès et toutes les assertions étaient True ;
  • Échoué (F) : le test contient des assertions qui n’étaient pas True, indiquant un problème ;
  • Ignoré (s) : le test a été ignoré, peut-être en raison d’une condition ou d’une dépendance configurée.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 2

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

bookCadre Pytest : Configuration et Exécution des Tests Automatisés

Glissez pour afficher le menu

Installation

Avant toute chose, il est nécessaire d’installer Pytest. Ce processus est simple grâce au gestionnaire de paquets Python, pip. Ouvrir la ligne de commande ou le terminal, puis saisir la commande suivante :

pip install pytest

Il est toujours préférable d’effectuer cette opération dans l’environnement virtuel du projet.

Explication de la syntaxe

L’une des raisons pour lesquelles Pytest est très apprécié dans la communauté Python est sa syntaxe simple et facile à rédiger. Contrairement à certains autres frameworks de test, Pytest permet d’écrire des codes de test de manière très lisible. Aperçu rapide :

  • Fichiers de test : pytest reconnaît les fichiers qui commencent par test_ ou se terminent par _test.py ;
  • Fonctions de test : les fonctions qui débutent par test_ dans ces fichiers sont automatiquement identifiées comme fonctions de test par pytest ;
  • Assertions : utiliser l’instruction assert intégrée à Python pour vérifier que certaines conditions sont remplies.

Exemples de code

Application pratique avec un exemple simple. Supposons qu’une fonction appelée add additionne deux nombres. Voici comment écrire un test pour cette fonction avec Pytest :

# content of test_example.py
def add(a, b):
    return a + b

def test_add():
    assert add(2, 3) == 5
    assert add('space', 'ship') == 'spaceship'

Cet exemple montre deux tests : un pour les nombres et un autre pour les chaînes de caractères. Les instructions assert vérifient si la fonction se comporte comme attendu.

Exécution des tests et interprétation des résultats

Lancer les tests avec Pytest est très simple. Se placer dans le répertoire contenant le fichier de test et exécuter la commande suivante :

pytest

Pytest détecte et exécute automatiquement tous les tests du répertoire, puis affiche un rapport indiquant si chaque test a réussi ou échoué. Exemple de sortie :

===================== test session starts ======================
collected 2 items

test_example.py ..                                         [100%]

====================== 2 passed in 0.12s =======================

Chaque point représente un test réussi. Pytest fournit des informations détaillées pour les tests échoués, incluant le numéro de ligne et la raison de l’échec, ce qui facilite le diagnostic et la correction des problèmes.

===================== test session starts ======================
collected 2 items

test_example.py .F                                         [100%]

====================== FAILURES ==========================
____________________ test_add _________________________

    def test_add():
>       assert add(2, 3) == 8
E       AssertionError: assert 5 == 8
E        +  where 5 = add(2, 3)

test_example.py:6: AssertionError
===================== 1 passed, 1 failed in 0.23s ======================

Interprétation des résultats

  • Réussi (.) : le test s’est exécuté avec succès et toutes les assertions étaient True ;
  • Échoué (F) : le test contient des assertions qui n’étaient pas True, indiquant un problème ;
  • Ignoré (s) : le test a été ignoré, peut-être en raison d’une condition ou d’une dépendance configurée.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 2
some-alt