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

159
Vistas
Espere que se elimine el error del siguiente controlador de observable, probando Angular con Jasmine

En la aplicación Angular, tenga un controlador con el siguiente método

 onClick(): void { this.http .get('some/endpoint') .subscribe( (response) => { const editUrl = this.service.composeUrl(response); if (!editUrl) { // want to test this error is thrown, when editUrl is null throw Error('Cannot construct valid URL'); } // do something else }, () => { // request clean up } ); }

Me gustaría escribir la prueba de Jasmine para verificar que si editUrl no se puede componer a partir de la respuesta, se generará un error.

 it('when call is successful but editUrl cannot be constructed, then error is thrown', () => { mockHttp.get = jasmine .createSpy() .and.returnValue(of({})); mockService.composeUrl= jasmine .createSpy() .and.returnValue(null); expect(() => { component.onClick() }).toThrowError(); });

Mi prueba falla con:

Error: función esperada para arrojar un error.

Pero también veo en la consola del navegador que se arrojó el error Uncaught Error: Cannot construct valid URL

Creo que el problema está en que se arroja un error en el siguiente controlador de http observable, y de alguna manera se está quedando sin contexto de jazmín.

Podría solucionarlo extrayendo el siguiente controlador anónimo en la función con nombre y probar directamente esa función, pero prefiero suscribirme con funciones de flecha anónimas.

about 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