내가이 일을함으로써 내 시험에서이 지침의 범위에 액세스 할 수있었습니다 컨트롤러 사용하는 각도 지침이있을 때 : 저를 설정할 수 있습니다테스트 각도 지시 범위가로드
element = angular.element('<my-directive></my-directive>');
element = $compile(element)($rootScope);
$rootScope.$digest();
scope = element.scope();
를/범위 속성을 가져오고 지시어 컨트롤러에서 정의한 함수를 직접 호출합니다.
그러나 프로젝트에 jQuery를 도입하자마자 (사용하려는 다른 종속성이 필요함)이 작업이 중단되었습니다. 특히 element.scope()
테스트에서 undefined
을 반환합니다. dev 도구를 사용하면 앱이 실제로 실행될 때가 아니라는 것을 알 수 있습니다. 즉, $('.blah').scope()
을 수행하고 undefined
값을 되 찾을 수 있습니다.
누구나 왜 이것이 작동하지 않는지 알 수 있습니까? 내 karma.conf.js (나는 Yeoman Angular generator를 사용하고 있습니다.)에 HTML 파일에 포함 된 것과 동일한 순서로 jQuery를 추가했습니다.