【问题标题】:Testing FileSaver in Angular 5在 Angular 5 中测试 FileSaver
【发布时间】:2018-12-10 09:27:26
【问题描述】:

我在 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);

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

【问题讨论】:

  • 使用console.log打印出FileSaver并检查其原型中是否存在saveAs函数
  • @RadonirinaMaminiaina 当我控制台 FileSaver 时它是“未定义的”。我是 Angular 2 测试的新手,请告诉我如何在 Spec.ts 中获取 FileSaver
  • 试试这个它对我有用。 "从 'file-saver/FileSaver' 导入 { saveAs };"

标签: angular mocking karma-jasmine spy


【解决方案1】:

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

import * as FileSaver from 'file-saver';

然后在规范beforeEach:

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

【讨论】:

  • 这似乎(突然)停止为我工作作为存根 saveAs 方法的机制。还有其他人观察到类似的事情吗?
猜你喜欢
  • 1970-01-01
  • 2018-10-20
  • 2018-07-25
  • 2018-09-23
  • 2018-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-04
相关资源
最近更新 更多