Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Cadre Pytest | Cadre Pytest
Concepts Avancés de Python

book
Cadre Pytest

Installation

Tout d'abord, nous devons installer Pytest. Ce processus est simple, grâce au gestionnaire de paquets de Python, pip. Ouvrez votre ligne de commande ou terminal, et entrez la commande suivante :

python
pip install pytest

Il est toujours préférable de le faire dans l'environnement virtuel du projet.

Explication de la Syntaxe

L'une des raisons pour lesquelles Pytest est si apprécié dans la communauté Python est sa syntaxe simple et facile à écrire. Contrairement à certains autres frameworks de test, Pytest vous permet d'écrire des codes de test de manière très lisible. Voici un 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 commencent par test_ dans ces fichiers sont automatiquement identifiées comme fonctions de test par pytest;

  • Assertions : utilisez l'instruction assert intégrée de Python pour vérifier que des conditions spécifiques sont remplies.

Exemples de Code

Appliquons ce que nous avons appris avec un exemple simple. Supposons que nous ayons une fonction appelée add qui additionne deux nombres. Voici comment nous pourrions écrire un test pour cela en utilisant Pytest :

python
# 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 de code 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 prévu.

Comment Exécuter les Tests et Interpréter les Résultats

Exécuter des tests avec Pytest est aussi simple que possible. Naviguez jusqu'au répertoire contenant votre fichier de test et exécutez la commande suivante :

python
pytest

Pytest découvrira et exécutera automatiquement tous les tests dans le répertoire, affichant un rapport qui montre si chaque test a réussi ou échoué. Voici ce que vous pourriez voir :

python
===================== 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 une sortie détaillée pour les tests échoués, y compris le numéro de ligne et la raison de l'échec, ce qui facilite le diagnostic et la correction des problèmes.

python
===================== 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 a été 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
ChatGPT

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

some-alt