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'}