我正在使用命令行中的 web 组件测试器在我的 Polymer 组件上运行基于夹具的测试。测试成功 Chrome (v.47) 但在 Firefox (v.42) 中失败。问题是,在我的 Polymer 组件中的某些更改观察器函数中,预期的数据正在 Chrome 中接收,但在 Firefox 中为空,导致后者的测试失败。以下是基本代码:
聚合物组件:聚合物({ 是:'组件名称',
properties: {
data: {
type: Array,
observer: '_dataChanged'
},
_dataChanged: function() {
process(this.data) // this line
...
},
...
在 Chrome 中,上面“这一行”中的“this.data”的值是非空的,无论在 html 夹具中传递什么。这使我的测试用例能够成功。但是在 Firefox 中,从事件接收到的 'this.data' 的值是一个空数组 [],导致上述测试失败。任何想法为什么会这样?
我还尝试将我的测试套件包装在“WebComponentsReady”事件的事件侦听器中,即使 web-component-tester 已经确保套件仅在此类事件触发后才启动。这种方法在 Chrome 中仍然有效,在 Firefox 中仍然失败。