У меня есть этот провайдер:
angular.module('app').provider('appProvider', function() {
this.$get = Helper;
function Helper() {
function method() {
return true;
};
return {
method: method
};
});
Когда модуль тестирует его, я могу связаться с appProvider, но не с помощником в модульных тестах. Я пытался это сделать:
describe('test', function() {
var prov;
beforeEach(angular.mock.module('app', function(appProvider) {
prov = appProvider;
}));
it('provider', inject(function() {
expect(prov.Helper.method()).toEqual(true);
}));
});
И получить эту ошибку:
TypeError: "undefined" не является объектом (оценка "prov.Helper.method()")
Вопрос: Как мне достичь метода(), чтобы оценить правильное поведение?
Вы пытаетесь протестировать метод службы, предоставляемый вашим провайдером, поэтому для проверки провайдера кажется немного окольным. Почему бы просто не протестировать службу?