茉莉间谍document.execCommand不被调用

我写这样的testing

describe('execCommand', function () { it('should call document.execCommand', function () { spyOn(document, 'execCommand').and.callThrough(); expect(document.execCommand).toHaveBeenCalledWith('foreColor', false, 'red'); document.execCommand('foreColor', false, 'red'); }); }); 

但它失败Expected spy execCommand to have been called with [ 'foreColor', false, 'red' ] but it was never called. 我不知道为什么

请帮忙。

注意:我使用grunt-contrib-jasmine 0.9.2来运行它

茉莉花的expect函数当时是一个断言,而不是一个断言,它将在it块结束时运行,切换顺序看它的工作:

 describe('execCommand', function () { it('should call document.execCommand', function () { spyOn(document, 'execCommand').and.callThrough(); document.execCommand('foreColor', false, 'red'); expect(document.execCommand).toHaveBeenCalledWith('foreColor', false, 'red'); }); }); 
 <link href="//safjanowski.github.io/jasmine-jsfiddle-pack/pack/jasmine.css" rel="stylesheet" /> <script src="//safjanowski.github.io/jasmine-jsfiddle-pack/pack/jasmine-2.0.3-concated.js"></script>