Tests unitaires avec pytest

Introduction aux tests en Python

Alexander Levin

Data Scientist

Qu'est-ce qu'un test unitaire

Unité — plus petite partie fonctionnelle testable.

  • Exemples d'unités : fonctions, méthodes, classes, modules, etc.

$$

Test unitaire — méthode d'essai logiciel.

  • Permet de vérifier l'exactitude d'une unité.

$$

Cas de test — ensemble d'entrées et de sorties attendues pour une unité.

  • Résume un aspect précis du problème.
Introduction aux tests en Python

Pourquoi utiliser les tests unitaires

Les tests unitaires sont la base pour vérifier « la vue d'ensemble » d'un logiciel.

Cas d'usage :

  • Quand des bogues sont trouvés
  • Pendant le développement
  • Après des changements appliqués
Introduction aux tests en Python

Comment créer un test unitaire

Étapes :

  1. Choisir les unités à tester
  2. Définir les cas de test (partie créative) :
    • « Quels résultats l'unité peut-elle produire ? »
    • « Comment l'unité peut-elle être utilisée ? »
    • « Quel doit être son comportement dans tous ces cas ? »
  3. Coder chaque cas de test
  4. Exécuter les tests et analyser les résultats
Introduction aux tests en Python

Créer un test unitaire : exemple

Unité à tester :

# Function for a sum of elements
def sum_of_arr(array:list) -> int:
    return sum(array)

Cas de test :

  1. Entrée : liste de nombres (prévue) — doit retourner la sum
  2. Entrée : liste vide — doit retourner 0
  3. Entrée : liste avec un seul number — doit retourner ce number
Introduction aux tests en Python

Créer un test unitaire : code

# Test Case 1: regular array
def test_regular():
    assert sum_of_arr([1, 2, 3]) == 6
    assert sum_of_arr([100, 150]) == 250
# Test Case 2: empty list
def test_empty():
    assert sum_of_arr([]) == 0
# Test Case 3: one number
def test_one_number():
    assert sum_of_arr([10]) == 10
    assert sum_of_arr([0]) == 0
Introduction aux tests en Python

Résumé

Test unitaire — test qui vérifie qu'une unité fonctionne comme prévu.

Cas de test — entrées et sorties qui résument un aspect précis du problème.

Cas d'usage :

  • Quand des bogues sont trouvés
  • Pendant le développement
  • Après des changements appliqués

Définir des cas de test demande de la créativité.

Introduction aux tests en Python

Passons à la pratique !

Introduction aux tests en Python

Preparing Video For Download...