加载angularjs单元测试的数据

时间:2015-01-07 15:42:53

标签: angularjs unit-testing

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

2 个答案:

答案 0 :(得分:1)

我创建了一个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;,如果我想在那里使用它:)

答案 1 :(得分:0)

您应该使用karma-ng-json2js-preprocessor

它可以让你完全按照自己的意愿行事。将JSON放在单独的.json文件中,然后将这些模拟jsons作为角度常量注入到测试中。