0

我正在测试在 Jasmine-Teaspoon 中调用元素的单击事件。但是,我收到一个错误:

“预期的间谍点击已被调用。”

  describe("onPlayerStateChange", function(){
    it("should stop video when data equals to zero", function(){
      var closeElmeent = $(".close.close-popup");
      var spy = spyOn(closeElmeent, 'click');
      player.onPlayerStateChange(event);
      expect(spy).toHaveBeenCalled();
    });
  }); 

在此处查看正在测试的完整代码:

ReferenceError:找不到变量:onPlayerReady(使用回调时)

4

1 回答 1

0

参考链接问题的上下文:

onPlayerStateChange(event) {
 if(event.data === 0) {           
   $('.close.close-popup').click();
 }
}

event.data 是否设置为 0?因为 undefined 不等于零: false === (undefined === 0)

describe('onPlayerStateChange', () => {
    it('should stop video when data equals to zero', () => {
        event.data = 0;
        const closeElmeent = $(".close.close-popup");
        const spy = spyOn(closeElmeent, 'click'); // if you want it to actually click, you can use "spyOn(closeElmeent, 'click').and.callThrough();"
        onplayerStateChange(event);
        expect(spy).toHaveBeenCalled();
    });
});
于 2019-10-30T17:49:47.660 回答