Как уже упоминалось в моем предыдущем вопросе о насмешках, я новичок в Jest и тестировании, и у меня, похоже, появляются какие-то кривые.
В этот раз у меня возникают проблемы с насмешками shelljs
в моем приложении CLI.
Автоматическая блокировка jest.mock('shelljs');
не работала и выдавала ошибку: [TypeError: shell.exe c не является функцией]
Поэтому я продолжил и попытался использовать mockImplementation()
jest.mock('shelljs', () => {
return jest.fn().mockImplementation(() => {
return {
exec: () => {}
};
});
});
К моему удивлению, я все еще получаю то же сообщение об ошибке
Любые указатели были бы очень благодарны.
ОБНОВЛЕНИЕ 08/04/2020 :
В соответствии с ответом Тенеффа ниже, насмешка отлично работает с:
jest.mock('shelljs', () => {
return {
exec: jest.fn()
};
});
Теперь я получаю тайм-ауты, так как мой вызов shell.exe c () asyn c и получаю ответный вызов, который разрешает мое обещание.
Моя цель - смоделировать shell.exe c (), чтобы просто выполнить обещание, но оно переходит в ожидание, а Jest останавливается.