Я пытаюсь модульного тестирование этой линии JavaScript с каркасом Жасмина:тест жасмин Карма блока JSON.parse функции
$scope.validerStyleTag = function() {
$scope.currentTag = JSON.parse($scope.tagList);
for (var i = $scope.listTags.length - 1; i >= 0; i--) {
if ($scope.listTags[i]._id === $scope.currentTag._id) {
$scope.tagID = $scope.listTags[i]._id;
$scope.listTags[i].disabled = true;
break;
}
}
// var textestyler = angular.element(document.querySelector('#style-affected-add'))[0].outerHTML;
// var debut = textestyler.substring(textestyler.indexOf('<p'), textestyler.indexOf('>') + 1);
// var texteFinal = debut + '</p>';
var mytext = '<p data-font="' + $scope.policeList + '" data-size="' + $scope.tailleList + '" data-lineheight="' + $scope.interligneList + '" data-weight="' + $scope.weightList + '" data-coloration="' + $scope.colorList + '"> </p>';
$scope.tagStyles.push({
id_tag: $scope.currentTag._id,
style: mytext,
label: $scope.currentTag.libelle,
police: $scope.policeList,
taille: $scope.tailleList,
interligne: $scope.interligneList,
styleValue: $scope.weightList,
coloration: $scope.colorList,
});
angular.element($('.shown-text-add').text($('.shown-text-add').text()));
angular.element($('#style-affected-add').removeAttr('style'));
$scope.colorationCount = 0;
$scope.tagList = null;
$scope.policeList = null;
$scope.tailleList = null;
$scope.interligneList = null;
$scope.weightList = null;
$scope.colorList = null;
};
проблема тестирования в первой строке:
$scope.currentTag = JSON.parse($scope.tagList);
когда я начал писать мое модульное тестирование, как это и назвать свою функцию:
it('ProfilesCtrl:validerStyleTag should set validerStyleTag ', inject(function() {
expect($scope.validerStyleTag).toBeDefined();
$scope.validerStyleTag();
}));
карма дает мне неожиданную ERRO r: TypeError: Попытка присвоить свойство readonly на workFn (/home/app/bower_components/angular-mocks/angular-mocks.js:2107)
идеи или отзывы более чем приветствуются!
Вы используете PhantomJS с "старой" версией углового? Была ошибка, которая вызвала эту ошибку, которая была исправлена в последнее время. Похоже, он был исправлен в 1.2.12, если я правильно прочитал. https://github.com/angular/angular.js/pull/5047 –
@CraigSquire THANK YOU для вашего ответа, так как я могу обновить мою версию Angularjs? и версия phantomJs? – badaboum
@CraigSquire Я использую Angular v 1.2.1 – badaboum