我的app.run方法如下所示。
app.run(['urlconfigservice',
function (urlconfigservice) {
urlconfigservice.loadurlconfiguration();
}
]);
我的urlconfigservice如下所示:哪个读取urlconfig.json文件并将结果存储在urlconfiguration中。
define([
'angular'
], function (angular) {
'use strict';
return angular.module('urlconfigservice', [])
.factory('urlconfigservice', [ //
'$rootScope', '$http',
function ($rootScope, $http) {
return {
loadurlconfiguration: function () {
$http.get('urlconfig.json').success(function (data) {
$rootScope.urlconfiguration = data;
});
}
};
}
])
;
});
答案 0 :(得分:0)
如角度文档所述,模块的运行块很难测试,最好不要做。和你一样,它应该只使用逻辑所在的其他服务。
AngularJS文档:
运行块是Angular中与main方法最接近的东西。运行块是需要运行以启动应用程序的代码。在配置完所有服务并创建注入器后执行。运行块通常包含难以进行单元测试的代码,因此应在隔离模块中声明,以便在单元测试中忽略它们。
然而,您可以测试工厂是否像在other post中描述的那样在测试运行块时进行了调用