Sobes.tech
Junior — Middle
93

Pouvez-vous expliquer le concept de mock en testing logiciel?

Réponse de l'IA

sobes.tech IA

Le mock est une technique en test où, au lieu de dépendances réelles (par exemple, classes, services, bases de données), on utilise des objets spéciaux — les mocks. Ils imitent le comportement des composants réels, permettant d'isoler le code testé et de contrôler son environnement.

Les objectifs principaux du mocking :

  • Isoler le module testé des dépendances externes.
  • Contrôler le comportement des dépendances (par exemple, faire en sorte qu'une méthode retourne une valeur spécifique).
  • Vérifier comment le code testé interagit avec les dépendances (si les méthodes nécessaires ont été appelées, avec quels paramètres).

En Python, pour le mocking, on utilise souvent la bibliothèque unittest.mock :

from unittest.mock import Mock

def fetch_data(api_client):
    response = api_client.get('/data')
    return response.json()

# Dans le test
mock_api = Mock()
mock_api.get.return_value.json.return_value = {'key': 'value'}

résultat = fetch_data(mock_api)
assert résultat == {'key': 'value'}