Angular 2测试nativeElement

时间:2016-10-03 19:43:20

标签: testing angular jasmine testbed

我一直在角网站上看测试教程。我很好奇是否有可通过debugElement进行测试的所有项目列表。例如

let nav = fixture.debugElement.query(By.css('h1')).nativeElement;

    expect(nav.innerText).toBe(fixture.componentInstance.homeHeader);

还有哪些其他元素,比如我正在测试的innerText值。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:6)

列表太长了。这些是本机JS DOM元素它取决于获取完整属性列表的类型元素。您应该学会浏览MDN站点。以下是HTMLHeadingElement的链接(这是h1的内容)。如果你看侧边栏,你会看到

  • 属性(HTMLHeadingElement中缺少,见下文)。这是此元素的所有直接属性的列表(请参阅继承属性的父级)

  • <强>继承即可。这是继承HTMLHeadingElement

    的层次结构
       EventTarget
            |
           Node
            |
         Element
            |
       HTMLElement
            |
    HTMLHeadingElement
    

    您可以单击其中任何一个链接,您将看到继承的属性。例如,如果您点击Node,您会看到HTMLHeadingElement获取innerText属性的位置。如果你回到HTMLHeadingElement,你会发现它没有直接的属性。这意味着它的所有属性都是从其父级继承的

  • 方法(HTMLHeadingElement缺失,请参阅继承方法的父级)

  • <强>活动即可。这些是可以为元素触发的所有事件

  • HTML DOM的相关页面。这是所有页面共有的列表。您可以看到所有不同类型的DOM元素的列表。您可以点击它们。但是,在大多数情况下,您将从任何DOM元素使用的大多数属性都将是父级的继承属性。所以你可能只想查看父属性列表。虽然有些人有自己的属性。