3
jasmine을 사용하여 하나의 지시문을 테스트하려고합니다. 지정 :재스민 테스트 범위 및 범위 참조로 전달
angular.module('app').directive('test',
function(){
return{
restrict: 'A',
scope:{data:'='},
link:function($scope,element,attrs){
.....
$scope.data=[200,300];
}
}
}
]);
자스민 :
describe('test', function(){
beforeEach(module('test'));
beforeEach(inject(function($rootScope,$compile){
scope = $rootScope.$new();
element = '<div test data="{{data}}"></div>';
scope.data = [100,200]
element = $compile(element)(scope);
scope.$digest();
}));
it('is a test',function(){
expect(data).toBe([100,200]);
});
}
하고 해당 범위로
가 "="사용하고, 그것을 기준을 통과. 그러나 테스트를 실행할 때 구문 오류가 있습니다. 토큰 '데이터'가 예상치 못한데 [{{데이터}}] 식의 열 3에서 [:]이 (가) 필요합니다. 만약 내가 그냥<test data={{data}}></test>
와 함께 테스트 템플릿에서 div 제거, 잘 작동합니다. 그리고 "="를 "@"로 바꾸면 범위가 잘됩니다. 누구나 범위에 대한 참조를 전달하는 방법에 대한 제안을 나에게 줄 수 있습니까? 감사.
놀랍습니다. 공유해 주셔서 감사합니다. 오랜 시간 시행 착오를 저지했습니다. – wdanda