Шутка глубокий метод шпион - PullRequest
2 голосов
/ 03 июня 2019

Как я могу шпионить за publish и publishBatch внутри свойства instance:

Object.defineProperty(Provider, 'instance', {
    get: jest.fn(() => { 
        return {
            publish: jest.fn(),
            publishBatch: jest.fn()
        }
    }),
});

Я знаю о jest.spyOn(Provider, 'instance', 'get');, но мне нужно пойти глубже и не смог найти никакой информации в документации.

1 Ответ

1 голос
/ 03 июня 2019

Решение гораздо проще, чем я думал:

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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...