为 angularjs 单元测试加载数据

Load data for angularjs unit test

我想在 angular 单元测试中使用一些虚拟数据。数据是一个大型 javascript 对象数组。我宁愿在我的单元测试中没有这个对象。有没有办法将这些数据加载到我的单元测试中?实际上,我希望单元测试 "include" 另一个包含数据的文件。这可能吗? 谢谢

我创建了一个 globals.js 文件,我将其包含在我的 karma.conf.js 中,它看起来像这样:

module.exports = function(config) {
  config.set({

    // base path, that will be used to resolve files and exclude
    basePath: "..",

    // frameworks to use
    frameworks: ["jasmine"],

...
files: [
      "test/unit/globals.js",
      "app/js/*/**",
]
...
});
};

在我的 globals.js 文件中,我只是像这样创建虚拟数据:

var globals = {
var1: 'mockValue1',
var2: 'mockValue2',
...
}

在我的单元测试中,如果我想在那里使用它,我只写 var something = globals.var1; :)

你应该使用 karma-ng-json2js-preprocessor.

它可以让你做你想做的事。将您的 JSON 放在单独的 .json 文件中,然后将这些模拟 json 作为 angular 常量注入到您的测试中。