使用 Polymer 1.* 和 WCT,在测试我的元素时,<sp-veteran></sp-veteran>
我无法删除方法._getSpComboBox()
和函数。我明白了。._getItems()
ready
Error thrown outside of test function: this._getSpComboBox(...)._getItems is not a function
由于它在就绪函数中,我需要使用 WCT apistub
而不是sinon.stub
因为后者需要我抓取我以前无法做到的元素fixture()
。
有什么建议么?
原始代码:
_getSpComboBox: function() {
return Polymer.dom(this.$.veteran.root).querySelector('sp-combo-box');
},
ready: function() {
if (this.editMode) {
this._getSpComboBox()._getItems();
}
this.$.veteranNoAjax.read();
this._setStyle();
}
测试:
<test-fixture id="sp-veteran">
<template>
<h2>edit veteran in edit mode</h2>
<sp-app>
<sp-toast></sp-toast>
<sp-veteran edit-mode></sp-veteran>
</sp-app>
</template>
</test-fixture>
before(() => {
replace('sp-app').with('fake-sp-app');
stub('sp-ajax', {read: ()=> entitiesMock});
const _getItems = ()=> entitiesMock;
stub('sp-veteran', {_getSpComboBox: ()=> _getItems});