我正在测试一个Angular2组件,并希望断言该组件的nativeElement属性,但它没有任何打字稿定义。我的测试看起来像这样:
beforeEach( () => {
myComponentFixture = TestBed.createComponent(MyComponent);
myComponent = myComponentFixture.componentInstance;
});
it('Should display something', fakeAsync(() => {
myComponentFixture.detectChanges();
expect(myComponentFixture.nativeElement.textContent).toContain('something');
}));
问题是我输入nativeElement.
之后没有IntelliSense,因为我认为没有nativeElement的输入。我可能想要检查更多属性,如innerHtml,id等。此示例测试可能没有意义,但我可以使用myComponentFixture.debugElement.query(By.css('#myElement')).nativeElement
答案 0 :(得分:21)
你需要施放。由于采用了多平台策略,他们没有为nativeElement
指定特定类型:
(myComponentFixture.nativeElement as HTMLElement)....
答案 1 :(得分:0)
您可以使用Angular核心软件包中的ElementRef:
import { ElementRef } from '@angular/core';