我正在尝试为提供商创建测试,但我似乎无法在测试中对其进行配置。这是我的提供商,我在实例化时使用网址配置服务:
angular.module('PRXHttpData', [])
.provider('HttpData', function(){
var url;
this.setUrl = function(_url_){
url = _url_;
};
this.$get = function(){
return new HttpDataService(url);
}
});
function HttpDataService(url){
this.url = url;
}
这是我的测试设置:
beforeEach(function () {
angular.mock.module('PRXHttpData');
});
var HttpDataProvider;
beforeEach(inject(function (_HttpData_) {
HttpDataProvider = _HttpData_;
}));
我尝试过:
beforeEach(function () {
angular.mock.module('PRXHttpData').config(function(HttpData){
HttpData.setUrl('test/url');
});
});
但它给了我错误"无法读取属性' config'未定义"
如何在测试中配置我的提供商?
答案 0 :(得分:1)
angular.mock.module()
没有返回Angular模块,也无法链接。
如the manual所述,它接受函数作为参数:
任意数量的模块,表示为字符串别名或匿名模块初始化函数。
在config
阶段调用这些函数。它应该是
angular.mock.module('PRXHttpData', function(HttpDataProvider){ ... });