我可以将原始方法保存在beforeEach中的变量中,然后在afterEach中恢复它,但也许我可以使用一个间谍,它将在测试套件之间自动重置.
spyOn(Ext, "create").andCallFake(function(className){
if (className === 'Waf.view.Viewport')
// call the original Ext.create method
});
Run Code Online (Sandbox Code Playgroud)
这可能吗?我正在使用Jasmine 1.3
这段代码:
var arr = [];
arr.unshift.apply(arr, new Array(200000));
Run Code Online (Sandbox Code Playgroud)
原因:未捕获的 RangeError:超出最大调用堆栈大小(请参阅 http://jsfiddle.net/BnLxf/1/)
虽然这段代码工作正常:
var arr = [];
arr.unshift(new Array(200000));
Run Code Online (Sandbox Code Playgroud)
知道为什么会发生这种情况吗?