Aller au contenu principal

Tests unitaires

Progression

#Tests unitaires

À quoi ça sert ?

À quoi ça sert: prévenir les régressions, documenter le comportement et refactorer sereinement. Comment: assertions simples, unittest/pytest, cas nominaux/limites et isolation des effets de bord.

#Approche simple: assertions

pythonpython
1def add(a, b):2    return a + b3 4assert add(2, 3) == 5

#unittest (stdlib)

pythonpython
1import unittest2 3def fact(n: int) -> int:4    return 1 if n <= 1 else n * fact(n-1)5 6class TestFact(unittest.TestCase):7    def test_base(self):8        self.assertEqual(fact(1), 1)9        self.assertEqual(fact(5), 120)10 11if __name__ == '__main__':12    unittest.main()
Chargement de l’éditeur...

#Bonnes pratiques

  • Cas nominaux + cas limites (0, vide, très grand).
  • Tests déterministes, indépendants, rapides; éviter l’ordre dépendant.
  • Nommer clairement: test_nom_du_comportement.
  • Isoler FS/réseau avec des doubles (mocks) et des fixtures.
pytest

En pratique, pytest simplifie l’écriture des tests et les fixtures. La philosophie reste la même: tests petits, lisibles, ciblés.

Quel trait rend un test unitaire efficace ?
Quel trait rend un test unitaire efficace ?