【问题标题】:Inject in ngMock for jasmine test not work注入 ngMock 进行茉莉花测试不起作用
【发布时间】:2023-03-18 18:43:01
【问题描述】:


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

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

【问题讨论】:

    标签: jasmine karma-runner inject angularjs-ngmock


    【解决方案1】:

    你可能需要

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

    或 $auth 所在的任何模块

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多