0
好吧,所以这里的细节:我有一个名为FileA.js的文件。在FileA.js中,我有一个原型FileAObject.prototype,并具有相关函数funcAlpha()。因此,我们有这样的事情:茉莉花和Spying/Mocking - JavaScript原型
文件= FILEA
function someFunction() {
SomeFunctionality...
}
function FileAObject() {
Object definition
}
FileAObject.prototype.funcAlpha = function() {
...
}
我想窥探funcAlpha()。据我所知,典型的模拟看起来是这样的:
var FILE_A = $.import('path.to.file.directory', 'FileA');
<rest of code here>
spyOn(FILE_A, 'funcAlpha').andCallFake(function() {
return fakeResult;
}
<complete test>
现在当我运行我的测试时,这是行不通的。因为funcAlpha是FileAObject的一个属性,并且(显然)不是FileA,所以该调用将不起作用。但是,我不知道如何获得间谍的目标。我对JavaScript很陌生,这是一个有用的但相当混乱的问题子集。任何帮助将不胜感激!
您是否从模块FileA导出您的'FileAObject'? –
@HamletHakobyan你是什么意思? –
@HamletHakobyan我修改了上面的条目以更好地展示文件的结构 –