我想在角度单位测试中使用一些虚拟数据。数据是一个大型的javascript对象数组。我宁愿在单元测试中没有这个对象。有没有办法将这些数据加载到我的单元测试中?实际上,我希望单元测试“包含”另一个包含数据的文件。这可能吗? 感谢
答案 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作为角度常量注入到测试中。