Angular2测试 - 通过Id获取元素

oha*_*nho 29 angular

我正在编写一个Angular2测试组件,我在教程中注意到了这一行:

de = fixture.debugElement.query(By.css('h1'));
Run Code Online (Sandbox Code Playgroud)

de被定义为DebugElement类型.

我怎么能通过DebugElement身份证?

这似乎非常简单,但我无法在文档中找到任何方向.

J J*_*J B 45

你也可以使用by.css

de = fixture.debugElement.query(By.css('#theid'));
Run Code Online (Sandbox Code Playgroud)

  • 如果有人被 `By is not defined` 错误绊倒,这个导入可能会有所帮助:`import { By } from "@angular/platform-b​​rowser";` (4认同)
  • 对 `.debugElement.nativeElement` 的调用返回什么? (2认同)

小智 7

  const fixture = TestBed.createComponent(DashboardComponent);
  const compiled = fixture.debugElement.nativeElement;
Run Code Online (Sandbox Code Playgroud)
  • 使用ID

    expect(compiled.querySelector('#from').textContent).toContain('From Date');

  • 使用css

    expect(compiled.querySelector('.from').textContent).toContain('From Date');