1

要素がモカでイベントを発生させたことをテストするにはどうすればよいですか? 醜いソリューションが機能していますが、あまり読みにくく、失敗したときにタイムアウトするのに時間がかかり、適切な失敗メッセージが表示されません。

describe('test-element', function() {
  var el;

  beforeEach(function() {
    el = document.createElement('test-element');
  });

  it('fires a save event', function(done) {
    el.addEventListener('save', function() {
      done();
    });
    el.save();
  });

完璧な世界では、このようなものがよりクールになると思います。

  it('fires a save event', function() {
    el.save();
    expect(el).to.have.firedEvent('save');
  });
});

私はこれを正しい方法で行っていますか?私が使用すべきより良いアプローチまたはカスタムマッチャーライブラリはありますか?

4

1 に答える 1

1

関数をスパイするのはどうfireですか...?

使用しているスタブ/スパイ ライブラリはわかりませんが、Sinon.JSとしましょう。だから何か...

var spy = sinon.spy(el, 'fire');
el.save();
expect(spy.calledWith('save')).to.be.true;
于 2015-07-17T17:46:52.333 に答える