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