Angular 2测试nativeElement

TyA*_*ney 1 testing jasmine testbed angular

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

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

    expect(nav.innerText).toBe(fixture.componentInstance.homeHeader);
Run Code Online (Sandbox Code Playgroud)

还有哪些其他元素,比如我正在测试的innerText值.感谢您的任何帮助.

Pau*_*tha 6

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

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

  • 继承.这是继承的层次结构HTMLHeadingElement

       EventTarget
            |
           Node
            |
         Element
            |
       HTMLElement
            |
    HTMLHeadingElement
    
    Run Code Online (Sandbox Code Playgroud)

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

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

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

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