我们正在使用require
和 Browserify,所以单功能模块是这样导入的:
var loadJson = require('../loadJson');
并像这样使用:
x = loadJson(url);
我想要spyOn
那个 loadJson 函数,但这似乎是不可能的。
它不是一个全局函数,所以这不起作用:
spyOn(window, 'loadJson')
它不是本地函数,所以这不起作用:
loadJson = createSpy('loadJsonSpy', loadJson).and.callThrough();
当我require
将模块添加到我的 Jasmine 规范中时,该函数在该闭包内可见,但这与实际实际使用的其他模块不同loadJson
。
简而言之,我认为在这种情况下不可能使用spyOn
它——对吗?有什么创造性的解决方法吗?