使用 Polymer 1 和 Web 组件测试器...在 chrome 上的 shady dom 中进行测试。
在 WCT 中,尝试使用 spToast.display() 存根,stub('sp-toast', { display: ()=> {} });
但出现错误Attempted to wrap undefined property display as function
.... 我做错了什么?
我试图存根它的原因是因为我spToast.display is not a function
在测试运行代码库时得到了。
原始代码:
showAgeWarning: function() {
var spApp = Polymer.dom(document).querySelector('sp-app');
var spToast = Polymer.dom(spApp.root).querySelector('sp-toast');
var msg = "foo"
spToast.display('information', msg);
},
测试代码:
<test-fixture id="sp-veteran">
<template>
<h2>edit veteran</h2>
<sp-app>
<sp-toast></sp-toast>
<sp-veteran>
</sp-veteran>
</sp-app>
</template>
</test-fixture>
setup(function() {
replace('sp-app').with('fake-sp-app');
replace('sp-ajax').with('fake-sp-ajax');
stub('sp-value-dropdown', { setInvalidState: (state)=> {} });
myEl = fixture('sp-veteran');
});
test('it should validate the veteran', function() {
var spApp = Polymer.dom(myEl.root).querySelector('sp-app');
var spToast = Polymer.dom(spApp.root).querySelector('sp-toast');
sinon.stub(spToast, 'display');