2016-12-08 108 views
3

我正在測試一個Angular2組件,並且想要聲明組件的nativeElement屬性,但是沒有它的打印機定義。我的測試是這樣的:DOM nativeElement是否有打字稿定義?

beforeEach(() => { 
    myComponentFixture = TestBed.createComponent(MyComponent); 
    myComponent = myComponentFixture.componentInstance; 
}); 

it('Should display something', fakeAsync(() => { 
    myComponentFixture.detectChanges(); 

    expect(myComponentFixture.nativeElement.textContent).toContain('something'); 
})); 

的問題是,當我鍵入nativeElement.沒有智能感知它,因爲我覺得有用於nativeElement沒有分型。還有更多的屬性,我可能想要檢查innerHtml,id等。此示例測試可能沒有意義,但我可以使用myComponentFixture.debugElement.query(By.css('#myElement')).nativeElement

回答

8

測試某些特定DOM元素的屬性。您需要投射。由於多平臺戰略,他們沒有指定具體類型爲nativeElement

(myComponentFixture.nativeElement as HTMLElement)....