2016-12-22 1 views
0

私は以前に書かれたディレクティブを単体テストしようとしています。私がやりたいことは、ディレクティブのスコープ内で変数をチェックするだけです。ユニットテストディレクティブとisolatedScopeは関数ではない

ただし、私のhtml要素にisolatedScope()メソッドを実行しようとするたびに、エラーelem.isolatedScope is not a functionが表示されます。

奇妙なことの1つは、私が$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です。

アイソ範囲孤立範囲用語は互換的に使用することができますが、最初の1 is preferred in official sources(それはおそらくフレームワーク著者の一人で鋳造された):私たちのことができるようにしたいどのような

ディレクティブ のスコープを外側のスコープから分離し、外側のスコープをディレクティブの 内側スコープにマッピングします。我々は、と呼ばれるものを分離株 scopeとすることによって、これを行うことができる。

+0

ありがとうございます。 smhは私にとってずっと長い間問題でした。 –

関連する問題