我使用Office.js库和TypeScript为Microsoft Office编写了一个加载项。我正在使用Jest对其进行单元测试。
我遇到了一个问题,其中@types/office-js
声明了所有全局对象Office
和Word
后面的类型定义。由于它们与类型定义冲突,我似乎无法为它们编写伪造/模拟实现。我还不能直接在@microsoft/office-js
上导入或使用Jest模拟,因为它不是真正的模块-它的意思是由浏览器在script标签中加载。当我运行Jest时,它不会解析新的全局名称空间-ReferenceError: Word is not defined
。
这是我需要完成的工作的简化视图:
// __mocks__/word.ts
//@ts-ignore
export namespace Word {
// stuff
}
// __tests__/something.ts
it('should find Word', () => Word...);
如何创建假货/假货以测试电话?
答案 0 :(得分:-1)
好吧,我又尝试了一件事。
我放
(<any>global).Word = Word;
word.ts
的底部,事情似乎很开心。