Sobes.tech
Junior — Middle
91

¿Puedes explicar el concepto de mocking en las pruebas de software?

Respuesta de la IA

sobes.tech AI

El mocking es una técnica en las pruebas donde, en lugar de dependencias reales (como clases, servicios, bases de datos), se utilizan objetos especiales llamados mocks. Estos imitan el comportamiento de componentes reales, permitiendo aislar el código que se prueba y controlar su entorno.

Los objetivos principales del mocking:

  • Aislar el módulo probado de dependencias externas.
  • Controlar el comportamiento de las dependencias (por ejemplo, hacer que un método devuelva un valor específico).
  • Verificar cómo el código probado interactúa con las dependencias (si llama a los métodos necesarios, con qué parámetros).

En Python, para mocking, a menudo se usa la biblioteca unittest.mock:

from unittest.mock import Mock

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

# En la prueba
mock_api = Mock()
mock_api.get.return_value.json.return_value = {'key': 'value'}

resultado = fetch_data(mock_api)
assert resultado == {'key': 'value'}