Я пытаюсь перенести приложение angularjs с версии 1.6.9 на версию 1.7.8. мой тестовый случай не удался с
angular-mock.js ($ rootScope)
ОШИБКА: Нет ответа Определено! в angularjs / angular-mocks.js (1607)
ОШИБКА: $ rootScope: INPROG
, так как я новичок в тестировании кармы жасмина, я пробовал с $ rootcope.flush (),но я не могу ее решить.
это мой первый юнит-тест с Angularjs и жасминовой кармой, я не могу найти точную причину, и я также просмотрел примечания к выпуску других выпусков.
с помощью $ rootScope я обнаружил, что они изменили область его действия для функции, не являющейся универсальной.
Ниже приведен мой spec.js: я получаю сообщение об ошибке с $ rootcope, flush (). Могли бы некоторые помочь мне решить эту проблему, как это требуется.
$httpBackend.when('GET','/application/api/prefernce-definition')
.respond(successResponsePrefernces);
$httpBackend.when('POST','/application/api/setprefernce-definition')
.respond(201);
$httpBackend.when('POST','/application/api/v1/set-prefernces');
$httpBackend.when('POST','/application/api/v2/balances')
.respond(accountApiResponse);
//assertion for expecting proper get request for preferences-definition
$httpBackend.expectGET(,'/application/api/v1/prefernce-prefernces');
//fetch and set prefernces
$scope.onclickSetting();
$rootScope.flush();
$timeout.flush();
//now save the settings
$scope.saveViewSettings();
// getting error in this line after the flush
$rootScope.flush();
$timeout.flush();
var viewMode = $scope.model.viewSettings.viewMode,
viewModeExpected = successResponsePreferences.preferenceDefinitionList[0];
expect(viewMode.default).toBe(viewModeExpected.defaultPreferenceValue);
expect(viewMode.selected).toBe(viewModeExpected.currentUserPreferenceValue);
expect($scope.$broadcast).toHaveBeenCalledWith("ShowFilter");
//should update the prefernces in cache
expect(viewMode.selected).toBe(cacheService.getPreferences().viewMode);
expect(analyticsService.sendAction).toHaveBeenCalledwith(
Constant.ACCOUNT_BALANCES.MODULE_NAME,
Constant.ACCOUNT_BALANCES,VIEW_SETTINGS,
[]
);
expect(analyticsService.sendAction).toHaveBeenCalledwith(
Constant.ACCOUNT_BALANCES.MODULE_NAME,
Constant.ACCOUNT_BALANCES,VIEW_SETTINGS,
[Constant.EXTD_MODE, Constant.NO_GROUPING]
);
});
Ниже приведены ошибки:
Ошибка: ответ не определен! В ../bower_components/angular-mocks/angular-mocks.js(line 1607) $ httpBackend @ / .. / bower_components / angular-mocks / angular-mocks.js: 1607: 63.