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