[英]angularjs unit tests - mock service inside services
我正在測試服務A,但是服務A取決於服務B。(例如,服務B被注入到服務A中),服務B取決於服務C(例如,服務C被注入到服務B中)。
我已經在服務A中嘗試了模擬服務B
describe('Testing ServiceA', function () {
var serviceA, serviceBMock;
beforeEach(function () {
serviceBMock= {
get: function () {
return 'mockReturnValue';
}
};
angular.module('serviceAMocks', [])
.value('ServiceB', serviceBMock);
});
beforeEach(module('serviceAMocks'));
beforeEach(inject(function (_ServiceA_){
serviceA=_ServiceA_;
});
it('Gets', function () {
});
}
我得到錯誤:
錯誤:[$ injector:unpr]未知提供程序:serviceC提供程序<-ServiceC <-ServiceB <-ServiceA
如果我刪除它阻止沒有錯誤,如果我將其阻止我得到服務C依賴錯誤。
任何幫助將不勝感激。
您可以使用如下代碼使Angular將模擬服務(服務B)注入服務A:
beforeEach(module(function($provide) {
var serviceBMock= {
get: function () {
return 'mockReturnValue';
}
};
$provide.constant('serviceB', serviceBMock);
}));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.