如何在publish
属性中监视publishBatch
和instance
:
Object.defineProperty(Provider, 'instance', {
get: jest.fn(() => {
return {
publish: jest.fn(),
publishBatch: jest.fn()
}
}),
});
我知道jest.spyOn(Provider, 'instance', 'get');
,但我需要做得更深,在文档中找不到任何信息。
答案 0 :(得分:1)
解决方案比我想象的容易得多
const obj = {
publish: jest.fn(),
publishBatch: jest.fn()
}
Object.defineProperty(Provider, 'instance', {
get: jest.fn(() => {
return obj;
}),
});
const publishSpy = jest.spyOn(obj, 'publish');
...
expect(publishSpy).toHaveBeenCalled();