Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

285
Visualizações
Angular 2 Karma Test 'component-name' no es un elemento conocido

En AppComponent, estoy usando el componente de navegación en el código HTML. La interfaz de usuario se ve bien. No hay errores al hacer ng serve. y no hay errores en la consola cuando miro la aplicación.

Pero cuando ejecuté Karma para mi proyecto, hay un error:

 Failed: Template parse errors: 'app-nav' is not a known element: 1. If 'app-nav' is an Angular component, then verify that it is part of this module. 2. If 'app-nav' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.

En mi app.module.ts :

hay:

 import { NavComponent } from './nav/nav.component';

También está en la parte de declaraciones de NgModule.

 @NgModule({ declarations: [ AppComponent, CafeComponent, ModalComponent, NavComponent, NewsFeedComponent ], imports: [ BrowserModule, FormsModule, HttpModule, JsonpModule, ModalModule.forRoot(), ModalModule, NgbModule.forRoot(), BootstrapModalModule, AppRoutingModule ], providers: [], bootstrap: [AppComponent] })

Estoy usando NavComponent en mi AppComponent

aplicación.componente.ts

 import { Component, ViewContainerRef } from '@angular/core'; import { Overlay } from 'angular2-modal'; import { Modal } from 'angular2-modal/plugins/bootstrap'; import { NavComponent } from './nav/nav.component'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { title = 'Angela'; }

aplicación.componente.html

 <app-nav></app-nav> <div class="container-fluid"> </div>

He visto una pregunta similar, pero la respuesta en esa pregunta dice que debemos agregar NgModule en el componente de navegación que tiene una exportación en eso, pero recibo un error de compilación cuando hago eso.

También hay: app.component.spec.ts

 import {NavComponent} from './nav/nav.component'; import { TestBed, async } from '@angular/core/testing'; import { AppComponent } from './app.component';
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Debido a que en las pruebas unitarias desea probar el componente mayormente aislado de otras partes de su aplicación, Angular no agregará las dependencias de su módulo como componentes, servicios, etc. de forma predeterminada. Por lo tanto, debe hacerlo manualmente en sus pruebas. Básicamente, tienes dos opciones aquí:

A) Declarar el NavComponent original en la prueba

 describe('AppComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ AppComponent, NavComponent ] }).compileComponents(); }));

B) Simular el NavComponent

 describe('AppComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ AppComponent, MockNavComponent ] }).compileComponents(); })); // it(...) test cases }); @Component({ selector: 'app-nav', template: '' }) class MockNavComponent { }

Encontrarás más información en la documentación oficial .

over 4 years ago · Santiago Trujillo Relatório

0

También puede usar NO_ERRORS_SCHEMA

 describe('AppComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ AppComponent ], schemas: [NO_ERRORS_SCHEMA] }).compileComponents(); }));

https://2018.ng-conf.org/mocking-dependencies-angular/

over 4 years ago · Santiago Trujillo Relatório

0

Paso 1: Cree stubs al principio del archivo de especificaciones.

 @Component({selector: 'app-nav', template: ''}) class NavComponent{}

Paso 2: Agregue stubs en las declaraciones de los componentes.

 TestBed.configureTestingModule({ imports: [ RouterTestingModule ], declarations: [ AppComponent, NavComponent ], }).compileComponents();
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda