2016-03-15 63 views
1


我在測試中注入依賴項服務存在問題。我嘗試以不同的方式注入,但問題仍然存在。 注射只能以一種方式,通過
在ngMock中注入茉莉花測試不起作用

var $injector = angular.injector(['app']); 
    $auth = $injector.get('$auth'); 

,但我認爲這不是個好主意。

我的配置文件:

files: [ 
    '../www/lib/angular/angular.js', 

    '../www/lib/moment/min/moment.min.js', 
    '../www/lib/moment/locale/ru.js', 
    '../www/lib/highcharts/adapters/standalone-framework.js', 
    '../www/lib/highcharts/highcharts.js', 
    '../www/lib/highcharts/highcharts-more.js', 
    '../www/lib/highcharts/modules/funnel.js', 
    '../www/lib/nouislider/distribute/nouislider.js', 
    '../www/lib/angular-cache/dist/angular-cache.js', 
    '../www/lib/angular-moment/angular-moment.js', 
    '../www/lib/ngstorage/ngStorage.min.js', 
    '../www/lib/nouislider-angular/nouislider.js', 
    '../www/lib/highcharts-ng/dist/highcharts-ng.js', 
    '../www/lib/angular-lz-string/angular-lz-string.js', 
    '../www/lib/ng-lodash/build/ng-lodash.min.js', 
    '../www/lib/angular-mocks/angular-mocks.js', 

    '../www/js/app.js', 

    'unit/*.js' 
], 

我的測試:

describe('$auth', function() { 
    var auth; 
    beforeEach(module('app')); 

    beforeEach(inject(function($auth) { 
     auth = $auth; 
     console.log(auth); // Not executes 
    })); 

    it('should call requestAuth', function() { 
     expect(auth).not.toBeUndefined(); // false here 
    }); 
}); 

回答

0

您probalby需要

beforeEach(module('app', 'ng')); 
任何模塊$ AUTH

或者是