키 포인트
link
$templateCache
<code class="language-javascript">angular.module('sampleDirectives', []).directive('firstDirective', function() { return function(scope, elem){ elem.append('This span is appended from directive.'); }; });</code>
테스트 링크 함수
기능은 DDOS (Directive Definition Objects)에서 가장 일반적으로 사용되는 속성입니다. 여기에는 명령의 대부분의 핵심 논리가 포함되어 있습니다. 이 논리에는 간단한 DOM 운영, 이벤트 게시/구독 이벤트 듣기, 객체 또는 속성 변경 모니터링, 서비스 호출, UI 이벤트 처리 등이 포함됩니다. 우리는 이러한 시나리오의 대부분을 다루려고 노력할 것입니다.DOM 작동
옵저버 link
dom event
jqlite 's<code class="language-javascript">var compile, scope, directiveElem; beforeEach(function(){ module('sampleDirectives'); inject(function($compile, $rootScope){ compile = $compile; scope = $rootScope.$new(); }); directiveElem = getCompiledElement(); }); function getCompiledElement(){ var element = angular.element('<div first-directive=""></div>'); var compiledElement = compile(element)(scope); scope.$digest(); return compiledElement; }</code>를 사용하여 클릭 이벤트를 시뮬레이션하고 결과를 확인할 수 있습니다.
명령 템플릿 테스트 테스트를 단순화하기 위해 가있는 예압 템플릿. 지시 범위 스코프 테스트
속성 바인딩을 확인하고 방법이 고장 범위를 요구합니다.
$digest
테스트가 필요합니다
<code class="language-javascript">it('should have span element', function () { var spanElement = directiveElem.find('span'); expect(spanElement).toBeDefined(); expect(spanElement.text()).toEqual('This span is appended from directive.'); });</code>교체 테스트
명령 요소가 교체되었는지 확인하십시오.
transclude transclude test<code class="language-javascript">angular.module('sampleDirectives').directive('secondDirective', function(){ return function(scope, elem){ var spanElement = angular.element('' + scope.text + ''); elem.append(spanElement); scope.$watch('text', function(newVal, oldVal){ spanElement.text(newVal); }); }; });</code>지침이 번역 된 컨텐츠를 올바르게 처리하는지 확인하십시오.
요약
이 기사에서 볼 수 있듯이 AngularJS의 다른 개념보다 지침이 테스트하기가 더 어렵습니다. 동시에 응용 프로그램의 중요한 부분을 제어하기 때문에 무시할 수 없습니다. AngularJS의 테스트 생태계를 통해 프로젝트의 모든 부분을 더 쉽게 테스트 할 수 있습니다. 이 튜토리얼을 통해 이제 테스트 지침에 더 자신감을 갖기를 바랍니다. 의견 섹션에서 당신의 생각을 알려주십시오. 이 튜토리얼에서 개발 된 코드를 시험해 보려면 설정 한 github 저장소를 확인할 수 있습니다. (FAQS 부분은 기사의 길이로 인해 여기서 생략됩니다. 핵심 내용은 위에 다루었습니다.)
위 내용은 AngularJS 테스트 팁 : 테스트 지침의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!