我有一段代码正在执行一些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 块中,我检查要调用的间谍。但它没有被召唤。虽然正在调用附录,但我也可以正确看到 dom。但预期它不起作用。有什么帮助吗?
所以,我能够自己弄清楚。我所做的唯一不同的事情是我在创建间谍时掌握 DOM 的方式:
var testSpy = sinon.spy($el.querySelector('#header'), 'appendChild')
在那之后,我的间谍开始被召唤。