Función o módulo vacío usado para completar estructura cuando aún no existe la lógica final.
Un stub es una implementación simplificada que reemplaza una dependencia real en tests. A diferencia de los mocks, los stubs: - Solo proporcionan respuestas predefinidas - No verifican llamadas ni argumentos - Son más simples de implementar - Ideales cuando solo necesitas datos de prueba Se usan cuando quieres controlar lo que devuelve una dependencia sin importar cómo se usa.
// Stub de una API de pagos const paymentGatewayStub = { processPayment: async () => ({ success: true, transactionId: 'TXN_123456', amount: 99.99 }), refund: async () => ({ success: true, refundId: 'REF_789' }) }; // Stub de configuración const configStub = { get: (key: string) => { const values: Record<string, any> = { 'app.name': 'TestApp', 'db.host': 'localhost', 'features.darkMode': true }; return values[key]; } }; // Usando el stub en tests describe('CheckoutService', () => { it('procesa pago correctamente', async () => { const checkout = new CheckoutService(paymentGatewayStub); const result = await checkout.purchase(cart); expect(result.transactionId).toBe('TXN_123456'); }); }); // Stub con Sinon.js import sinon from 'sinon'; const stub = sinon.stub(userRepository, 'findById') .resolves({ id: '1', name: 'Test User' });