1

在我们的 ember 应用程序的 mocha-phantomjs 单元测试中,我将一些事件侦听器添加到videoDOM 中的元素:

didInsertElement: function() {
  this._super();
  var video = this.$('.video-review').get(0);
  var self = this;
  video.addEventListener('error', function(err){
    self.set('isReviewEnabled', false);
    console.error(video.error);
  }, false);
},

现在我需要测试video引发错误的元素并断言优雅降级代码正确执行:

test("add video", function(done) {
  Ember.run(function() {
    widget.setFile({type: 'video/mp4', size: 100000});
    // should cause video element to throw error
  });
  // app gracefully degrades and is able to upload without .video-review
  findWithAssert('.alert-upload-ready')

我所有的 ember 代码都按预期执行,除了永远不会触发的 DOM 视频元素事件侦听器。优雅降级取决于此事件侦听器的触发。所以我想我的问题归结为:?

如何在 ember mocha-phantomjs 测试中强制/模拟 DOM 元素事件?

4

0 回答 0