1


我在测试中遇到了注入依赖服务的问题。我尝试以不同的方式注入,但问题仍然存在。注入仅以一种方式起作用,通过

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
    });
});
4

1 回答 1

0

你可能需要

beforeEach(module('app', 'ng'));

或任何模块 $auth 在

于 2016-04-27T15:03:39.473 回答