如何监视已导出的函数,但也在这样的函数中调用:
文件1:
export function myFunction(){
// do stuff
return myOtherFunction()
}
export function myOtherFunction(){
// do stuff
}
文件2:
import * as helpers from './helpers'
beforeEach(()=>{
spyOn(helpers, 'myOtherFunction');
});
it('should call myOtherFunction', ()=>{
helpers.myFunction();
expect(helpers.myOtherFunction).toHaveBeenCalled()
});
这个问题是永远不会调用myOtherFunction
,因为茉莉花正在监视错误的对象。 myFunction
将调用本地函数,jasmine测试将期望调用导出的变量,它们是不同的对象。