¿Qué es API Mocking? Herramientas, Casos Uso, Ejemplos

API mocking simula una API sin el backend real — para dev paralelo, aislamiento tests, contract testing. Tools: Postman, WireMock, MSW.

¿Qué es API mocking?

API mocking es la práctica de crear una versión fake de una API que devuelve responses pre-definidas en vez de ejecutar lógica backend real. El mock se ve y comporta como la API real desde la perspectiva del cliente — mismas URLs, mismos formatos request/response — pero no está conectado a una base de datos, no triggea side effects y devuelve responses determinísticas.

API mocking habilita tres casos de uso principales: desarrollo paralelo, aislamiento de tests y contract testing.

Cuándo usar API mocking

  • Dev frontend antes que backend esté listo.
  • Tests unitarios e integración.
  • Testear escenarios error.
  • Trabajar offline / air-gapped.
  • Evitar rate limits / costos.
  • Contract testing.
  • Entornos demo/sales.

Tipos de API mocking

Mocks estáticos

Misma response cada vez, sin importar input.

Mocks dinámicos

Response varía basada en request.

Mocks grabados

Capturar responses API reales a archivo, replay después.

Mocks contract

Generados desde spec OpenAPI/Swagger.

Mocks stateful

Trackear state entre requests.

Herramientas API mocking populares

HerramientaMejor paraNotas
Postman Mock ServerMocks rápidos desde collections existentesGratis
MockoonMocks GUI desktop localesGratis, open-source
WireMockMocking scriptable Java-basedMaduro
MSW (Mock Service Worker)Mocks browser/Node via Service WorkerModerno
Mirage.jsMocks app JSStateful, in-app
Prism (Stoplight)Mocks OpenAPI-drivenAuto-generados desde spec
nockLibrary Node.js HTTP mockingInterception per-test
VCR (Ruby)Grabar + replay HTTPTest-focused
json-serverAPI REST rápida desde archivo JSONZero-config prototyping

Mocking vs stubbing vs faking

TérminoDefiniciónEjemplo
StubDevuelve response canned; sin comportamientoAPI siempre devuelve {users: ["alice"]}
MockStub + verifica que fue llamado correctamenteTest asserta API fue llamada 1x con X args
FakeImplementación in-memory funcionalBase datos in-memory para tests
SpyWrapea call real, graba info sobre callsLlama API real pero loguea qué se envió

Patterns API mocking comunes

Mock server con environment switch

const API_BASE = process.env.API_BASE || 'https://api.example.com';
fetch(`${API_BASE}/users/42`);

Interception MSW en tests

import { setupServer } from 'msw/node';
import { rest } from 'msw';

const server = setupServer(
  rest.get('/api/users/:id', (req, res, ctx) => {
    return res(ctx.json({ id: req.params.id, name: 'Alice' }));
  })
);

Pitfalls mocking

  • Mock se desvía de la realidad.
  • Sobre-reliance en mocks en CI.
  • Mocks demasiado permisivos.
  • Mocks no simulan latencia / errores.
  • Mocks stateful muy complejos.

Contract testing: mocking hecho bien

Herramientas contract testing (Pact, Spring Cloud Contract) verifican que responses mock matcheen lo que la API real realmente devuelve.

FAQ: API mocking

¿Cuál es la diferencia entre mocking y usar API staging?

Mocks son locales, rápidos, determinísticos. APIs staging son entornos reales-pero-no-prod.

¿Debería mockear todas las APIs externas en tests?

Sí para unit tests. Para integration tests, hittear al menos algunas APIs reales.

¿Cómo mockeo responses dinámicas?

La mayoría de herramientas soportan template variables o responses programáticas.

¿Puedo mockear GraphQL o gRPC?

Sí. MSW soporta GraphQL nativamente. Para gRPC herramientas como grpc-mock.

¿Cuál es el costo de API mocking?

Mayormente gratis.

¿Los mocks ralentizan tests?

No — los aceleran. Tests con mocks corren típicamente 10-100x más rápido.

Testea mocks API bajo carga con LoadFocus

Si has construido APIs mock y quieres verificar que manejan la carga que tu API real verá, LoadFocus corre scripts JMeter y k6 desde 25+ regiones con hasta 12.500 VUs. Regístrate en loadfocus.com/signup.

¿Qué tan rápido es tu sitio web?

Mejora su velocidad y SEO sin problemas con nuestra Prueba de Velocidad gratuita.

Prueba de velocidad de sitio web gratis

Analice la velocidad de carga de su sitio web y mejore su rendimiento con nuestro comprobador de velocidad de página gratuito.

×