Sobes.tech
Intern

Qu'est-ce qu'un test unitaire?

sobes.tech IA

Réponse de l'IA

Le test unitaire est une méthode de test logiciel dans laquelle des parties minimales du code (unités, généralement des fonctions, méthodes ou classes) sont isolées et vérifiées pour leur conformité au comportement attendu.

Objectifs des tests unitaires :

  • Vérification de la logique : Vérifier la correction d'une section spécifique du code en isolation.
  • Détection précoce des défauts : Identifier les erreurs lors de la phase de développement, lorsque leur correction est la moins coûteuse.
  • Facilitation du refactoring : Garantir que les modifications du code ne cassent pas la fonctionnalité existante.
  • Documentation : Les tests unitaires peuvent servir d'exemple d'utilisation du code.
  • Amélioration de la conception du code : Écrire un code testable conduit souvent à une conception plus modulaire et compréhensible.

Caractéristiques clés des tests unitaires :

  • Automatisation : Ils sont exécutés automatiquement par des frameworks de test.
  • Isolation : Test d'une unité, en minimisant les dépendances aux systèmes externes (bases de données, réseau, système de fichiers), souvent en utilisant des mocks ou des stubs.
  • Vitesse d'exécution : Ils doivent s'exécuter très rapidement pour pouvoir être lancés fréquemment (par exemple, à chaque modification du code ou avant un commit).
  • Déterminisme : Le résultat du test doit être le même à chaque exécution, si le code testé n'a pas changé.

Exemple en Python avec pytest :

def add(a, b):
    """Additionne deux nombres."""
    return a + b

def test_add_positive_numbers():
    # Vérification de l'addition de deux nombres positifs
    assert add(2, 3) == 5

def test_add_negative_numbers():
    # Vérification de l'addition de deux nombres négatifs
    assert add(-1, -5) == -6

def test_add_zero():
    # Vérification de l'addition avec zéro
    assert add(0, 7) == 7