2016-12-22 3 views
0

Я пытаюсь выполнить тестирование тестовой инструкции, которая была ранее написана, и для моего первого модульного теста все, что я хочу сделать, это проверить переменную внутри области действия директивы.директива по единичному тестированию и isolScope не является функцией

Однако каждый раз, когда я пытаюсь запустить метод isolatedScope() на моем элементе html, я получаю сообщение об ошибке elem.isolatedScope is not a function.

Одна из странных вещей, когда я установил точку останова только после того, как я запустил $compile на свой элемент, с консоли javascript, я могу напечатать директивы изолированной области.

Попытка установить isolatedScope переменной, как показано ниже, всегда будет приводить к ошибке elem.isolatedScope is not a function.

describe('directive: wikis', function() { 
    var $scope, elem, isolated; 

    beforeEach(module('app')); 

    beforeEach(inject(function(_$compile_, _$rootScope_){ 
     $scope = _$rootScope_.$new(); 

     elem = angular.element('<wikis></wikis>'); 
     elem = _$compile_(elem)($scope); 
     isolated = elem.isolatedScope() 
     isolated.$digest(); 
    })); 

    describe('$scope should be defined', function(){ 
     it('data should be empty object', function() { 
      expect(isolated.data).to.be.null; 
     }); 
    }); 
}); 

Любая идея о том, что я могу делать неправильно?

+0

isolateScope был устаревшим (угловым 1.3?), Поэтому он не будет работать, если вы не используете раннюю версию. – rrd

ответ

1

It is isolateScope, а не isolatedScope.

изолят сфера и изолированная сфера терминов могут быть использованы как взаимозаменяемые, но первый один is preferred in official sources (это было, вероятно, придуманные одним из каркасных авторов):

То, что мы хотим, чтобы иметь возможность do - это разграничение области внутри директивы с внешней стороны, а затем отображение внешней области видимости на внутреннюю область директивы . Мы можем сделать это, создав то, что мы называем изолятом scope.

+0

Спасибо. smh, что было проблемой для меня надолго. –

Смежные вопросы