我不知道为什么我的测试无效。
it('should be called when "get-tentative-events" is fired', function() {
spyOn(this.VM, 'addEvents');
spyOn(this.VM, 'setEventData').and.returnValue(null);
this.VM.$root.$broadcast('get-tentative-events', []);
expect(this.VM.addEvents).toBeDefined();
expect(this.VM.addEvents).toHaveBeenCalled();
});
在调试中,我确认调用了addEvents
但是出现了错误single-calendar addEvents should be called when "get-tentative-events" is fired FAILED
供参考:
如果我改变
this.VM.$root.$broadcast('get-tentative-events', []);
到
this.VM.addEvents([])
我可以通过这个测试。所以我无法理解为什么我的测试失败了。
答案 0 :(得分:0)
在监视Vue方法和被触发的事件时,我总是遇到麻烦。您可以尝试使用$nextTick
进行异步测试,因为Vue的事件已被解析为异步,但我建议您直接测试您的事件处理程序,并相信Vue的内部事件处理工作正在暗中进行那些。