问题描述
export function abc(){
a();
}
export function a(){
b();
}
export function b(){
//do some tasks
}
import * as p from './filename'
it('a should call b',()=>{
spyOn(p,'b');
p.a();
expect(p.b).toHaveBeenCalled();
);
当我尝试执行此测试用例时,它也会尝试执行b函数并失败。我只希望它应该调用b函数。我该如何实现?
解决方法
尝试添加模拟实现
///我在模拟b函数并以b()的o / p返回o
const spyB = jest.spyOn(p,'b').mockImplementation(0 as any);
p.a();
expect(spyB).toHaveBeenCalled();
spyB.mockClear();