2014-12-04 53 views
0

我越來越想測試中angualar一家工廠當出現以下錯誤:未知提供商進行測試時,工廠

錯誤:[$注射器:unpr]未知提供商:$ resourceProvider < - $資源< - 爲myService

在項目中已經有測試做類似的事情,他們工作得很好,所以我不能爲了我的生活找出爲什麼這些不起作用。下面是IMPL代碼:

(function() { 
'use strict'; 

var module = angular.module('first.module', []); 

function firstThing() { 
    this.doSomething = function (something) { 
     return campaign; 
    }; 
} 

module.service('firstThing', firstThing); 

function myServiceFactory($resource, notifier) { 
    var Resource = $resource('/api/campaigns/:id', { id: '@id' }, { 
     get: { method: 'GET' } 
    }); 

    function listItems() { 
     return []; 
    } 

    return { 
     list: listItems 
    }; 
} 

module.factory('myService', myServiceFactory); 

})(); 

測試代碼是:被用於測試

'use strict'; 

describe('My service test', function() { 

    var myServiceFactory, campaign, $injector; 

    beforeEach(module('first.module')); 

    beforeEach(inject(function (_$injector_) { 
     $injector = _$injector_; 
     myServiceFactory = $injector.get('myService'); 
    })); 

    it('true is true', function() { 
     expect(true).toEqual(true); 
    }); 
}); 

噶。謝謝你的幫助。

回答

1

您應該將ngResource模塊添加到您的模塊依賴關係中。

var module = angular.module('first.module', ['ngResource']); 
+0

謝謝,但現在我得到未知提供商「通知」的錯誤:/ **編輯。想通了,我需要在模塊中添加依賴關係。謝謝。 – JSFrank 2014-12-04 14:33:00

+0

但是後續問題,通知程序未包含作爲依賴項時代碼是如何工作的?爲什麼測試不起作用,但運行代碼呢? – JSFrank 2014-12-04 14:38:13

相關問題