Les fixtures dans unittest

Introduction aux tests en Python

Alexander Levin

Data Scientist

Récap des fixtures

  • Fixture
    • un environnement préparé pour un test
    • sépare la préparation du code de test
  • Mise en place de la fixture : préparer les ressources pour les tests
  • Démantèlement de la fixture : nettoyer les ressources allouées
  • Exemple : préparer la nourriture pour un pique-nique et nettoyer à la fin
Introduction aux tests en Python

Fixtures dans la bibliothèque unittest

  • Fixture dans unittest : la préparation nécessaire pour exécuter un ou plusieurs tests
  • .setUp() : méthode appelée pour préparer la fixture avant le test
  • .tearDown() : méthode appelée après le test pour remettre l'environnement en état
1 https://docs.python.org/3/library/unittest.html
Introduction aux tests en Python

Exemple de code

import unittest

class TestLi(unittest.TestCase):
    # Fixture setup method
    def setUp(self):
        self.li = [i for i in range(100)]

    # Fixture teardown method
    def tearDown(self):
        self.li.clear()

    # Test method
    def test_your_list(self):
        self.assertIn(99, self.li)
        self.assertNotIn(100, self.li)
Introduction aux tests en Python

U majuscule et D majuscule

  • Syntaxe correcte : setUp avec U majuscule et tearDown avec D majuscule.

    class TestLi(unittest.TestCase):
      # Fixture setup method
      def setUp(self):
          self.li = [i for i in range(100)]
    
      # Fixture teardown method
      def tearDown(self):
          self.li.clear()
    
Introduction aux tests en Python

Exemple de sortie

Commande : python3 -m unittest test_in_list.py

Sortie d'une exécution avec .setUp() et .tearDown() :

sortie d'une exécution avec une fixture

Introduction aux tests en Python

Méthodes mal nommées

Sortie d'une exécution avec .set_up() :

sortie d'une exécution avec une fixture mal nommée

Introduction aux tests en Python

Résumé

  • Fixture dans unittest : la préparation nécessaire pour exécuter un ou plusieurs tests
  • Pour créer une fixture :
    • Implantez la méthode .setUp()
    • Implantez la méthode .tearDown()
  • .setUp() : méthode appelée pour préparer la fixture avant le test.
  • .tearDown() : méthode appelée après le test pour nettoyer l'environnement.
Introduction aux tests en Python

Passons à la pratique !

Introduction aux tests en Python

Preparing Video For Download...