Я написал надстройку для Microsoft Office, используя библиотеки Office.js и TypeScript. Я использую Jest для юнит-тестирования.
Я сталкиваюсь с проблемами, когда @types/office-js
объявляет определения типов, где все находится за глобальными объектами Office
и Word
. Я не могу написать фальшивую / фиктивную реализацию для них, поскольку они конфликтуют с определениями типов. Я также не могу напрямую импортировать или использовать Jest mock на @microsoft/office-js
, так как это не настоящий модуль - он предназначен для загрузки браузером в теге script. Когда я запускаю Jest, он не разрешает мои новые глобальные пространства имен - ReferenceError: Word is not defined
.
Вот упрощенное представление о том, что мне нужно сделать:
// __mocks__/word.ts
//@ts-ignore
export namespace Word {
// stuff
}
// __tests__/something.ts
it('should find Word', () => Word...);
Как я могу создать свои подделки / макеты, чтобы я мог проверить вызовы?