我目前正在汇总一些最佳实践,以在组件级别上测试Angular 2应用程序。
我看过一些教程,查询灯具的NativeElement对象以获取选择器等,例如
it('should render "Hello World!" after click', async(() => {
builder.createAsync(HelloWorld).then((fixture: ComponentFixture<HelloWorld>) => {
fixture.detectChanges();
let el = fixture.nativeElement;
el.querySelector('h1').click();
fixture.detectChanges();
expect(el.querySelector('h1')).toHaveText('Hello World!');
});
}));
但是,在juliemr的Angular 2测试种子中,她通过父DebugElement对象访问NativeElement。
it('should render "Hello World!" after click', async(() => {
builder.createAsync(HelloWorld).then((fixture: ComponentFixture<HelloWorld>) => {
fixture.detectChanges();
let compiled = fixture.debugElement.nativeElement;
compiled.querySelector('h1').click();
fixture.detectChanges();
expect(compiled.querySelector('h1')).toHaveText('Hello World!');
});
}));
您是否在其nativeElement上使用灯具的debugElement.nativeElement有什么特定情况?