【发布时间】:2019-10-11 18:58:53
【问题描述】:
我正在尝试对模拟类中存在的函数执行 spyOn:
test.ts -
import Service from '../base_classes/Service';
jest.mock('../base_classes/Service');
const o: Component = new Component();
it('should load model specific information', async () => {
const getSpy = jest.spyOn(Service.prototype, 'get');
let t = await o.load(1);
expect(t.name).toEqual('test_name');
expect(getSpy).toHaveBeenCalledTimes(1);
});
__mocks__/Service.ts -
export const mockGet = jest.fn(async () => Promise.resolve({name:
'test_name'}));
const mock = jest.fn().mockImplementation(() => {
return {
get: mockGet
}
});
export default mock;
产生的错误是:无法监视 get 属性,因为它不是函数
我尝试将模拟箭头函数更改为 function(),但这没有帮助。
如何设置它以便我可以监视我的模拟函数?
【问题讨论】:
标签: reactjs typescript jestjs