Ich habe ein Polymer Element verwendet, das in etwa so eingerichtet ist:Unit-Tests Polymer Listener, 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});
}
})
Ich habe Gerät alle Funktionen getestet, aber ich brauche für die _onSomethingHappening Veranstaltung zu testen. Ich versuche, den Rückgabewert des this.fire-Ereignisses zu erfassen, aber das funktioniert nicht. Der Unit-Test ich im Sinne habe, ist so etwas wie diese:
test('_onSomethingHappened', function() {
var ev = some-element._onSomethingHappened();
assert(typeof ev, 'object');
});
Die Sache ist, wenn ich das tue, sagt er, dass kein Ereignis auf den Hörer übergeben wurde, so deshalb der Test nicht bestanden. Gibt es eine Möglichkeit, diesen Test so zu strukturieren, dass er funktioniert? Gibt es eine Möglichkeit zu sagen, dass ein JS.fire Event ausgeführt wurde?