gpt4 book ai didi

App组件中的Angular 2 nativeElement属性测试

转载 作者:太空狗 更新时间:2023-10-29 17:10:08 26 4
gpt4 key购买 nike

我有一个正在开发的 Angular 2 应用程序,出于与遗留代码的某些兼容性原因,它需要通过应用程序组件上使用的属性获取一些信息。例如,启动 angular 2 应用程序的 html 如下所示:

<myApp id="xyz" areaDone="true" value="" requestID="abc"> Loading ... </myApp>

但是,当我尝试根据这些属性的存在和值围绕应该发生的行为编写一些单元测试时,它们为空/未定义。

要获取值,我们只需像这样将它们拉入构造函数:

        let native = this.elementRef.nativeElement;
this.requestID= native.getAttribute("requestID");

那么,有没有一种方法可以通过测试床/提供者来强制一个本应具有预期属性的元素?

最佳答案

您可以调用 this.elementRef.nativeElement.attribute,这将返回您的属性的 NamedNodeMap (http://www.w3schools.com/jsref/prop_node_attributes.asp)。

从 NamedNodeMaps 获取东西的语法并不可怕,这是我在我的一个测试中从 d3 对象获取 x1 属性

const nodeAttributes = compiled.querySelector('#temp-draggable-link-line').attributes as NamedNodeMap;
expect(nodeAttributes.getNamedItem('x1').value).toEqual(200);

关于App组件中的Angular 2 nativeElement属性测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41247554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com