Typescript 为全局对象创建模拟

Typescript 为全局对象创建模拟,typescript,jestjs,office-js,Typescript,Jestjs,Office Js,我使用Office.js库和TypeScript为Microsoft Office编写了一个外接程序。我正在使用Jest对其进行单元测试 我遇到了@types/officejs声明类型定义的问题,其中所有内容都位于全局对象office和Word之后。我似乎无法为它们编写一个伪/模拟实现,因为它们与类型定义冲突。我也不能在@microsoft/officejs上直接导入或使用Jest mock,因为它不是一个真正的模块-它是由浏览器在脚本标记中加载的。当我运行Jest时,它不会解析我的新全局名称空

我使用Office.js库和TypeScript为Microsoft Office编写了一个外接程序。我正在使用Jest对其进行单元测试

我遇到了
@types/officejs
声明类型定义的问题,其中所有内容都位于全局对象
office
Word
之后。我似乎无法为它们编写一个伪/模拟实现,因为它们与类型定义冲突。我也不能在
@microsoft/officejs
上直接导入或使用Jest mock,因为它不是一个真正的模块-它是由浏览器在脚本标记中加载的。当我运行Jest时,它不会解析我的新全局名称空间-
ReferenceError:Word未定义

以下是我需要完成的简化视图:

// __mocks__/word.ts
//@ts-ignore
export namespace Word {
    // stuff
}

// __tests__/something.ts
it('should find Word', () => Word...);

我如何才能创建我的假货/模拟,以便测试调用?

嗯,我又试了一件事

我把

(全局)。Word=Word;
word.ts的底部,事情似乎很愉快

(<any>global).Word = Word;