2016-01-11 89 views
1

我想單元測試使用restangular的服務。我已經嘗試了幾種方法,包括第一是做什麼的beforeEach像這樣的單位restangular:單元測試與茉莉花和restangular - 不能實例化模塊restangular

beforeEach(angular.mock.module("restangular")); 

以上是出現在restangular單元測試。

我也試過了。

beforeEach(angular.module("restangular"));  

然後最後,我已經試過這是在這個plunkr看到如下:

Failed to instantiate module restangular due to: 
Error: [$injector:nomod] Module 'restangular' is not available! You either  misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument. 
http://errors.angularjs.org/1.4.7/$injector/nomod?p0=restangular 
http://plnkr.co/edit/hNmxWR?p=info

it('should inject restangular', inject(function(Restangular) { 
    expect(Restangular).toBeDefined(); 
     //... do stuff with 
})); 
每個I運行單元測試,我得到以下錯誤的時間

有什麼建議嗎?這是我的服務看起來像一個例子:

angular 
.module('schoolsService' ['restangular']) 
.factory('schoolsService', function(Restangular) { 
var schools = Restangular.all('/report/school'); 
return { 
     getSchools: function(schoolType) { 
      return schools.get(schoolType); 
     } 
    }; 
}); 

回答

1

這是多麼我已經做到了:

describe("schoolsService test", function() { 

    beforeEach(module("schoolsService")); 
    beforeEach(module("restangular")); 

    var schoolsService, Restangular; 

    beforeEach(inject(function (_schoolsService_, _Restangular_){ 
     schoolsService = _schoolsService_; 
     Restangular = _Restangular_; 
    }); 

    it("performs a test", function(){ 
     // expect something 
    }); 

}); 

另外,要記住,在配置文件中的這些模塊!