2016-10-03 140 views
1

我一直在通过角度网站上的测试教程。我很好奇,如果列出了所有可用于通过debugElement进行测试的项目。例如Angular 2测试nativeElement

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

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

还有什么其他元素像我正在测试的innerText值。 谢谢你的帮助。

回答

6

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

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

  • 继承。这是继承层次结构HTMLHeadingElement

    EventTarget 
         | 
         Node 
         | 
        Element 
         | 
        HTMLElement 
         | 
    HTMLHeadingElement 
    

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

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

  • 活动。这些是可以触发元素的所有事件

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