检查用mocha触发的事件

时间:2015-07-14 15:37:45

标签: javascript testing polymer mocha web-component-tester

如何测试元素使用mocha触发事件?我有一个丑陋的解决方案,但是它不易阅读,在失败时需要很长时间才能完成,并且没有提供良好的失败消息。

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');
  });
});

我是以正确的方式来做这件事的吗?是否有更好的方法或我应该使用的自定义匹配器库?

1 个答案:

答案 0 :(得分:1)

如何监视fire功能...?

不确定您正在使用的存根/间谍库,但请说Sinon.JS。所以......就像......

var spy = sinon.spy(el, 'fire');
el.save();
expect(spy.calledWith('save')).to.be.true;