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:

聚合物和起动器套件可以作为一个起点