【问题标题】:How can I load external JSON files into my test in Angular 2? [duplicate]如何在 Angular 2 中将外部 JSON 文件加载到我的测试中? [复制]
【发布时间】:2016-09-28 07:53:11
【问题描述】:

我正在为需要模拟大型 JSON 结构的 Angular 2 应用程序编写一些测试。我想把那个 JSON 放在它自己的文件中,这样我也可以在其他测试中导入它。将 Jasmine 与 Karma 结合使用。

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 这个问题不是重复的。这个针对 Angular(v2 及更高版本)。引用的 o 与 AngularJS (v.1) 不同的野兽有关。

标签: json testing angular jasmine karma-jasmine


【解决方案1】:

几个选项:

  • 将 JSON 放入 javascript 文件(作为全局变量)并通过在 karma 配置文件中添加“包含”来加载该 javascript 文件。
  • 使用脚本加载器(例如 requirejs 或其他 AMD 脚本加载器)加载您的 js 文件。
  • 在独立的 javascript 文件中向 Angular 模块添加服务或常量,然后您应该能够从测试文件中检索它。

最佳选择可能取决于您当前加载脚本的方式。假设 Angular 代码被拆分成多个文件,如何确保所有文件都被加载?

如果您只是以正确的顺序手动导入文件并使用全局变量 window.angular 来定义您的模块,那么选项 1 或 3 是最好的。如果您已经使用 AMD 加载程序,那么选项 2 值得考虑。

【讨论】:

  • Siddharth Ajmera 的回答很好地描述了您将如何执行选项 3。
猜你喜欢
  • 2016-07-03
  • 2016-12-28
  • 1970-01-01
  • 2016-04-23
  • 2019-02-16
  • 2023-02-04
  • 1970-01-01
  • 1970-01-01
  • 2016-07-17
相关资源
最近更新 更多