我有一个元素Subject Sex Age .... .... ... .. Var1 Var2 Var3
1 M 38 88 89 99
1 M 38 ..... .... .. . . NaN NaN NaN
2 F 34 ..... .... .. ... 34 34 34
,在<my-elem1>
函数中有一个属性elements
和一个_observer
函数。
attached
&#13;
其中attached: function () {
var self = this;
this._observer = Polymer.dom(this).observeNodes( function(info) {
nodesToAdd = info.addedNodes.filter(function(node){
return node.nodeName == 'MY-ELEM2'; // to get rig of #text nodes
})
nodesToAdd.forEach(function(elem) {
self.push('elements', elem.asObject());
});
});
}
定义为:
elements
&#13;
现在我正在尝试编写测试来检查这个_observer是否确实推送了 elements: {
type: Array,
notify: true,
value: function() {
return [];
}
},
数组中的elem
。我的测试文件类似于以下内容:
elements
&#13;
现在这个测试没有通过。 myEl.points.length的值为0.我想知道为什么_observer没有被调用。即使它不允许我调用myEl._observer,也会给出一些错误。
我该如何编写测试?另外,我如何测试<test-fixture id="my-elem1-fixture">
<template>
<my-elem1>
<my-elem2 foo="1"></my-elem2>
<my-elem2 foo="2"></my-elem2>
<my-elem2 foo="3"></my-elem2>
<my-elem2 foo="4"></my-elem2>
</my-elem1>
</template>
</test-fixture>
<script>
suite('my-elem', function() {
var myEl;
setup(function() {
myEl = fixture('my-elem1-fixture');
});
test('checks the "elements" array', function() {
assert(myEl.elements.length, 4);
});
});
</script>
数组的长度最初为0?