1

AngualrJS アプリの一部として、アプリケーションをブートストラップする前に REST API からユーザーの詳細を取得する必要があります。

var initInjector = angular.injector(['ng']);
var $http = initInjector.get('$http');

$http.get('../api/user').then(
  function (response) {
    if (response.user.valid) {
      angular.bootstrap(document, ['app']);
    }
  },
  function () {
    window.location.href = '../userError.html';
  }
});

私はgulpを使用してアプリケーションを構築しており、次のようにこれを単体テストしようとしています

describe('unit test app config', function () {
  beforeEach(function () {
    module('app');
    inject();
  });

  it('should log a message on calling the injector', function () {
    spyOn(angular, 'injector').and.callThrough();
    expect(angular.injector).toHaveBeenCalled();
  });
});

しかし、これは次のエラーを出しています:スパイインジェクターが呼び出されると予想されました。

このコードを単体テストするにはどうすればよいですか? $http サービスをモックして、成功関数と失敗関数をテストするだけです。

4

0 に答える 0