Polymer 1.x 单元测试间谍未被调用
Polymer 1.x unit testing spy not getting called
我有一段代码正在执行一些 DOM 操作调用函数,如 appendChild 和 RemoveChild。
所以,假设我的组件有一个 ID 为 属性
的 div 标签
<div id="header"></div>
在我的组件中的一个函数中,我得到了提到的标签并附加了一些东西
this.$.header.appendChild('<div>Hello</div>')
在我的单元测试中,我用负责的组件创建了测试夹具,然后在里面我创建了一个像
这样的间谍
var testSpy = sinon.spy(Polymer.dom($el.$.header), 'appendChild')
这是在我的设置中完成的。然后在我的 it 块中,我检查要调用的间谍。但它没有被调用。尽管正在调用 appendChild,但我也可以正确看到 dom。但是在期望中它不起作用。有帮助吗?
所以,我能够自己弄明白。我所做的唯一不同的事情是我在创建间谍时获取 DOM 的方式:
var testSpy = sinon.spy($el.querySelector('#header'), 'appendChild')
之后我的间谍开始被召唤。
我有一段代码正在执行一些 DOM 操作调用函数,如 appendChild 和 RemoveChild。
所以,假设我的组件有一个 ID 为 属性
的 div 标签 <div id="header"></div>
在我的组件中的一个函数中,我得到了提到的标签并附加了一些东西
this.$.header.appendChild('<div>Hello</div>')
在我的单元测试中,我用负责的组件创建了测试夹具,然后在里面我创建了一个像
这样的间谍 var testSpy = sinon.spy(Polymer.dom($el.$.header), 'appendChild')
这是在我的设置中完成的。然后在我的 it 块中,我检查要调用的间谍。但它没有被调用。尽管正在调用 appendChild,但我也可以正确看到 dom。但是在期望中它不起作用。有帮助吗?
所以,我能够自己弄明白。我所做的唯一不同的事情是我在创建间谍时获取 DOM 的方式:
var testSpy = sinon.spy($el.querySelector('#header'), 'appendChild')
之后我的间谍开始被召唤。