加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 17:44:23 所属栏目:安全 来源:网络整理
导读:我有一个我正在研究的Angular 2应用程序,出于与遗留代码的一些兼容性原因,需要通过应用程序组件上使用的属性获取一些信息.例如,启动angular 2应用程序的html将如下所示: myApp id="xyz" areaDone="true" value="" requestID="abc" Loading ... /myApp 但是,
我有一个我正在研究的Angular 2应用程序,出于与遗留代码的一些兼容性原因,需要通过应用程序组件上使用的属性获取一些信息.例如,启动angular 2应用程序的html将如下所示:

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

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

要获取值,我们只是在构造函数中将它们拉出来,如下所示:

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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读