Angular2コンポーネントをテストしていて、コンポーネントのnativeElementのプロパティをアサートしたいのですが、TypeScript定義がありません。私のテストは次のようになります。
_beforeEach( () => {
myComponentFixture = TestBed.createComponent(MyComponent);
myComponent = myComponentFixture.componentInstance;
});
it('Should display something', fakeAsync(() => {
myComponentFixture.detectChanges();
expect(myComponentFixture.nativeElement.textContent).toContain('something');
}));
_
問題は、_nativeElement.
_と入力した後、nativeElementの入力がないと思うため、IntelliSenseがないことです。 innerHtml、idなど、チェックしたいプロパティが他にもあります。このテスト例は意味がないかもしれませんが、myComponentFixture.debugElement.query(By.css('#myElement')).nativeElement
を使用して特定のDOM要素のプロパティをテストできます。
キャストする必要があります。マルチプラットフォーム戦略のため、彼らはnativeElement
に特定のタイプを指定しませんでした。
(myComponentFixture.nativeElement as HTMLElement)....
ElementRefはAngularコアパッケージから使用できます:
import { ElementRef } from '@angular/core';