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 サービスをモックして、成功関数と失敗関数をテストするだけです。