Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

502
Vistas
¿Cómo simular Google Pub/Sub en JavaScript?

Contexto

Necesito probar una función que publica eventos usando Google Pub/Sub:

  • Dado el event_id, el evento de compilación se publicará
 const event = { data: Buffer.from(event_id).toString('base64'), }; const message = await pubSubClient.topic(topicName).publish(event); console.log(`Message ${message} published.`);

Problema

Mi función proporciona algunos registros si el evento se publica correctamente y me gustaría usar los registros para verificar si el comportamiento es correcto.

El problema es que no sé cómo simular la instancia de pub/sub en javascript y hacer que devuelva un valor específico o lanzar una excepción, dado y event_id.

Así que quiero referencias/indicadores para:

  1. Cómo simular una instancia de PubSub con el método de publicación usando diferentes retornos

Ejemplo:

 jest.mock('@google-cloud/pubsub', () => ({ __esModule: true, PubSub: jest.fn().mockImplementation(() => ({ topic: mockTopic, publish: mockPublish, })), })); test('succeeds to publish message when event_id is valid', () => { myFunction(anyEventId); expect(console.log).toBeCalledTimes(1); expect(console.log).toHaveBeenLastCalledWith( `Message published.` ); });

Referencia

https://cloud.google.com/functions/docs/samples/functions-pubsub-unit-test

https://jestjs.io/pt-BR/docs/mock-function-api#mockfnmockreturnvaluevalue

over 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda