为 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 常量注入到您的测试中。
我想在 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 常量注入到您的测试中。