2016-10-03 132 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元素使用的大部分屬性都將從父級繼承屬性。所以你可能只想看父母的屬性列表。雖然有些確實有自己的屬性。