2014-12-17 6 views
-1

지시어에 대한 테스트 케이스 작성을 시도했지만 작성할 수 없습니다. 그래서, 사람들은 주어진 지시문에 대한 설명과 함께 올바른 테스트 케이스를 공유 할 수 있습니다 .js.지시어에 대한 테스트 작성 방법

myapp.directive('number', function() { 
    return { 
     restrict: 'A', 
     link: function(scope, element, attr, form) {  
      element.bind('input', function(e) { 
       $(this).val($(this).val().replace(/[^0-9 ]/gi, '')); 
      }); 
     } 
    } 
}); 

이 지시문은 숫자 만 반환합니다.

답변

0

답변을 찾았습니다. 여기에 내 대답을 게시했습니다.

describe('number', function() { 
    var scope, element, $compile; 
    beforeEach(module('myapp')); 

    beforeEach(inject(function(_$compile_, $rootScope) { 
    scope = $rootScope.$new(); 
    $compile =_$compile_; 
    scope.testInput = ""; 
    element = angular.element('<input number ng-model="testInput">'); 
    })); 

    var triggerKeyDown = function() { 
    var e = $.Event("input"); 
    $(element).trigger(e); 
    }; 

    it('should accept number input only', function() { 
    $compile(element)(scope); 
    scope.testInput = '1'; 
    scope.$digest(); 
    triggerKeyDown(); 
    expect(scope.testInput).toBe('1'); 
    }); 
}); 

이 코드는 저에게 효과적입니다.

관련 문제