Introduction aux fixtures

Introduction aux tests en Python

Alexander Levin

Data Scientist

Qu'est-ce qu'une fixture

  • Fixture : un environnement préparé utilisable pour exécuter un test
  • Configuration de fixture : préparation de l'environnement et des ressources requises par un ou plusieurs tests

Imaginez la préparation d'un pique-nique :

  1. Inviter des amis et préparer la nourriture (c'est ce que font les fixtures)
  2. S'amuser !
  3. Ranger
Introduction aux tests en Python

Pourquoi avons-nous besoin d'une fixture

Les fixtures aident à :

  • Simplifier la configuration des tests
  • Isoler la préparation de l'environnement du test
  • Rendre le code de fixture réutilisable
Introduction aux tests en Python

Exemple de fixture : aperçu

Supposons que nous ayons :

  • une variable Python list nommée data
  • data = [0, 1, 1, 2, 3, 5, 8, 13, 21]

Et que nous voulions tester que :

  • Elle contient 9 éléments
  • Elle contient les éléments 5 et 21
Introduction aux tests en Python

Exemple de fixture : code

import pytest

# Fixture decorator
@pytest.fixture
# Fixture for data initialization
def data():
    return [0, 1, 1, 2, 3, 5, 8, 13, 21]

def test_list(data):
    assert len(data) == 9
    assert 5 in data
    assert 21 in data
Introduction aux tests en Python

Exemple de fixture : résultat

Résultat de l'exemple : résultat de l'exemple de fixture

Introduction aux tests en Python

Comment utiliser les fixtures

Pour utiliser une fixture, procédez ainsi :

  1. Préparer le logiciel et les tests
  2. Repérer la « préparation de l'environnement »
  3. Créer une fixture :
    • Déclarer le décorateur @pytest.fixture
    • Implémenter la fonction de fixture
  4. Utiliser la fixture créée :
    • Passer le nom de la fixture à la fonction de test
    • Exécuter les tests !
Introduction aux tests en Python

Résumé

Nous avons vu les fixtures de test :

  • Fixture : environnement préparé utilisable pour exécuter un test
  • Nous utilisons les fixtures pour simplifier la configuration et l'isoler des fonctions de test
  • Exemple simple : préparation d'une list Python
  • Définir une fixture pytest en déclarant @pytest.fixture
    • suivie d'une fonction de fixture
  • Les noms de fixtures sont utilisés dans les tests comme variables
Introduction aux tests en Python

Passons à la pratique !

Introduction aux tests en Python

Preparing Video For Download...