Я пытаюсь имитировать функцию объекта с помощью Jest и Typescript, и это просто не работает. Вот краткая версия того, что у меня есть:
// myModule.ts
export const Foo = {
doSomething: () => {
// ... does something
console.log('original implementation');
}
}
Затем в моем тесте:
jest.mock('.myModule.ts', () => {
return {
Foo: {
doSomething: jest.fn().mockImplementation(() => {
console.log('mock implementation')
})
}
}
})
// .. further down in the test
Foo.doSomething();
Разве не следует вызывать console.log('mock implementation')
, когда я звоню Foo.doSomething()
? Это не ошибка, и он больше не вызывает исходную реализацию, но он также не вызывает мою mockImplementation.