在 Angular 5 中测试 FileSaver

Testing FileSaver in Angular 5

我在 angular 5 应用程序中导入了文件保护程序,当我执行测试用例时出现以下错误:

TypeError: FileSaver.saveAs is not a function

Spec.ts:
import FileSaver from 'file-saver';

.ts
import FileSaver from 'file-saver';
FileSaver.saveAs(blob, filename);

如何在测试用例中模拟文件保护器。

这适用于 Angular 7,所以我猜它也适用于 NG5。首先是在组件和规范中使用 'as' 语法导入 FileSaver:

import * as FileSaver from 'file-saver';

然后在规范 beforeEach:

spyOn(FileSaver, 'saveAs').and.stub();