1

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

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

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

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

4

1 回答 1

6

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

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

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

       EventTarget
            |
           Node
            |
         Element
            |
       HTMLElement
            |
    HTMLHeadingElement
    

    您可以单击其中任何一个链接,您将看到继承的属性。例如,如果您单击Node,您将看到这是从那里HTMLHeadingElement获取innerText属性的地方。如果您返回HTMLHeadingElement,您将看到它没有直接属性。这意味着它的所有属性都继承自其父母

  • 方法(HTMLHeadingElement 缺失,继承方法见父)

  • 事件。这些都是可以为元素触发的事件

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

于 2016-10-03T20:07:12.043 回答