spyOn另一个文件中的本地函数

时间:2018-04-09 20:38:21

标签: javascript unit-testing typescript jasmine

如何监视已导出的函数,但也在这样的函数中调用:

文件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测试将期望调用导出的变量,它们是不同的对象。

0 个答案:

没有答案