如何在Angular 2中将外部JSON文件加载到我的测试中?

时间:2016-09-28 07:53:11

标签: json testing angular jasmine karma-jasmine

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

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

1 个答案:

答案 0 :(得分:2)

有两种选择:

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

最佳选择可能取决于您在何时加载脚本。假设Angular代码被拆分为多个文件,您如何确保加载所有文件?

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