PaliSkill
Python avancé

Leçon 8 / 10 — Chapitre 8: Structurer et tester un projet

Tests avec assert, approfondi

Python Avancé a déjà entrevu assert : cette leçon approfondit son usage pour tester systématiquement une fonction, avec plusieurs cas et des cas limites.

def diviser(a, b):
    if b == 0:
        raise ValueError("Division par zero")
    return a / b

assert diviser(10, 2) == 5.0
assert diviser(9, 3) == 3.0
assert diviser(-6, 2) == -3.0
print("Tous les tests sont passes")

Ce code affiche Tous les tests sont passes : chaque assert vérifie silencieusement une égalité (rien ne s'affiche si elle est vraie) — si une seule d'entre elles échouait, Python lèverait une AssertionError et interromprait l'exécution à cet endroit précis.

Un bon jeu de tests couvre aussi les cas limites : des valeurs à la frontière d'un comportement particulier, où une erreur est la plus susceptible de se cacher.

try:
    diviser(10, 0)
    assert False, "Une erreur aurait du etre levee"
except ValueError:
    pass

print("Cas limite verifie")

Ce code vérifie qu'une division par zéro lève bien l'erreur attendue : si diviser(10, 0) ne levait pas d'erreur (un bug), assert False, "..." échouerait avec ce message précis — le except ValueError: pass (vu dans Python Intermédiaire) n'intercepte l'erreur que si elle est bien levée comme prévu.

À vous de jouer : écrivez trois assert pour une fonction de votre choix, dont un qui teste un cas limite (une valeur à zéro, une liste vide, ou une chaîne vide).

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que la certification finale.

2 500 XOF / 3,81 € / 4,15 $

Débloquez les 87 leçons restantes de ce module

Votre paiement est vérifié avant l'activation de l'accès