Javascript 使用此.fire的单元测试聚合物侦听器
我有一个聚合物元件,它是这样设置的:Javascript 使用此.fire的单元测试聚合物侦听器,javascript,unit-testing,polymer,polymer-1.0,Javascript,Unit Testing,Polymer,Polymer 1.0,我有一个聚合物元件,它是这样设置的: Polymer({ is: 'some-element', properties: { //properties }, listeners: { 'something-happened': '_onSomethingHappening' }, someFunction: function() {}, anotherFunction: function() { // something-happened l
Polymer({
is: 'some-element',
properties: {
//properties
},
listeners: {
'something-happened': '_onSomethingHappening'
},
someFunction: function() {},
anotherFunction: function() { // something-happened listener is executed here},
_onSomethingHappening: function(e) {
this.fire('it-happened', {e.someInfo});
}
})
test('_onSomethingHappened', function() {
var ev = some-element._onSomethingHappened();
assert(typeof ev, 'object');
});
我已经对所有函数进行了单元测试,但是我需要测试_onsomethinghapping事件。我试图捕获this.fire事件的返回值,但这不起作用。我心目中的单元测试是这样的:
Polymer({
is: 'some-element',
properties: {
//properties
},
listeners: {
'something-happened': '_onSomethingHappening'
},
someFunction: function() {},
anotherFunction: function() { // something-happened listener is executed here},
_onSomethingHappening: function(e) {
this.fire('it-happened', {e.someInfo});
}
})
test('_onSomethingHappened', function() {
var ev = some-element._onSomethingHappened();
assert(typeof ev, 'object');
});
问题是,当我这样做时,它表示没有向侦听器传递任何事件,因此测试失败。有没有一种方法可以让这个测试顺利进行?有没有一种方式可以说“断言执行了JS.fire事件” With,您可以在测试夹具的fire
方法上使用,并断言它是使用特定参数调用的
test.html:
聚合物和起动器套件可以作为一个起点