Sobes.tech
Junior — Middle

Comment PyTest détermine-t-il quelles fonctions ou cas de test doivent être exécutés lors du test ?

sobes.tech IA

Réponse de l'IA

PyTest détecte automatiquement les fonctions et méthodes de test selon des règles spécifiques de nommage et de structure. Par défaut, il recherche :

  • Les fonctions dont le nom commence par test_.
  • Les méthodes à l’intérieur des classes dont le nom commence par test_, à condition que la classe commence également par Test et n’hérite pas de unittest.TestCase.
  • Les fichiers dont le nom commence par test_ ou se termine par _test.py.

Ainsi, PyTest parcourt les répertoires, trouve ces fichiers, les importe et exécute toutes les fonctions et méthodes correspondant à ces critères. Cela facilite l’organisation des tests sans avoir besoin de les enregistrer explicitement.

Exemple :

# test_example.py

def test_sum():
    assert sum([1, 2, 3]) == 6

class TestMath:
    def test_multiply(self):
        assert 2 * 3 == 6

Lors de l’exécution de pytest, ces deux tests seront détectés et exécutés.