作为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服务并测试成功和失败函数