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

473
Vistas
Angular2, pruebas y datos resueltos: ¿Cómo probar ngOnInit?

Estoy trabajando con la guía de prueba de Angular2 y deseo escribir una prueba para la función ngOnInit() . El de la sección Enrutamiento de la guía de programación tiene este formato:

 let org: Org = null; ngOnInit(): void { let that = this; this.route.data .subscribe((data: { org: Org }) => { that.org = data.org; }); }

Esto se cumple a través de un resolver, como:

 resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<Org> { let id = this.authService.user.orgId; return this.orgService .getOrg(id) .map( (org: Org) : Org => { if(org) { return org; } else { // If the Org isn't available then the edit page isn't appropriate. this.router.navigate(['/provider/home']); return null; } }) .first(); }

El código funciona bien, pero no estoy seguro de cómo escribir una prueba para ngOnInit . Los ejemplos disponibles para mí asumen que un OrgService incrustado puede ser reemplazado por un MockOrgService . Sin embargo, todo lo que tengo es un resolver.

Eventualmente descubriré cómo probar el resolutor por sí solo. ¿Hay alguna prueba útil que pueda hacer con un ngOnInit basado en resolución?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

¿Cuál es el comportamiento o el método ngOnInit ? Todo lo que hace es asignar el valor de la org cuando se resuelven los datos de la ruta. Así que eso es todo lo que realmente necesitas probar.

 let routeStub; beforeEach(() => { routeStub = { data: null } TestBed.configureTestingModule({ providers: [ { provide: ActivatedRoute, useValue: routeStub } ] }) }) it('should assign org when route is resolved', async(() => { let org = new Org() routeStub.data = Observable.of(org) fixture.detectChanges(); fixture.whenStable().then(() => { expect(component.org).toEqual(org) }) }))
over 4 years ago · Santiago Trujillo Denunciar

0

Estaba tratando de probar ngOnInit() para un componente y, lamentablemente, la respuesta aceptada no funcionó para mí. Sin embargo, esto hizo:

 describe('your test', () => { beforeEach(async() => { // set up your component as necessary component.ngOnInit(); await fixture.whenStable(); }); it('should verify your test', () => { // run your expectation }); });
over 4 years ago · Santiago Trujillo Denunciar
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