only foreign data closed and testing angular angular-cli angular2-testing

testing - foreign - data binding angular 2



prueba angular2: no se puede enlazar a ''ngModel'' ya que no es una propiedad conocida de ''input'' (1)

Estoy intentando probar el enlace bidireccional angular2 para la input control. Aquí está el error:

Can''t bind to ''ngModel'' since it isn''t a known property of ''input''.

El app.component.html

<input id="name" type="text" [(ngModel)]="name" /> <div id="divName">{{name}}</div>

El app.component.ts

@Component({ selector: ''app-root'', templateUrl: ''./app.component.html'' }) export class AppComponent implements OnInit { name: string; }

app.component.spec.ts

import { TestBed, async } from ''@angular/core/testing''; import { AppComponent } from ''./app.component''; import { AppService } from ''./app.service''; describe(''App: Cli'', () => { beforeEach(() => { TestBed.configureTestingModule({ declarations: [ AppComponent ], providers:[AppService] }); }); it(''divName'', async(() => { let fixture = TestBed.createComponent(AppComponent); let comp = fixture.componentInstance; comp.name = ''test''; fixture.detectChanges(); let compiled = fixture.debugElement.nativeElement; expect(compiled.querySelector(''divName'').textContent).toContain(''test''); })); });


FormsModule importar FormsModule a la TestBed TestBed.

import { FormsModule } from ''@angular/forms''; TestBed.configureTestingModule({ imports: [ FormsModule ], declarations: [ AppComponent ], providers:[AppService] });

Lo que está haciendo con TestBed es configurar un NgModule desde cero para el entorno de prueba. Esto le permite agregar solo lo que se necesita para la prueba sin tener variables externas innecesarias que puedan afectar la prueba.