2014-07-16 2 views
2

함수에 scope.$on('$destroy', cleanup)을 수행하는 지시문이 있습니다.

브라우저의 JavaScript 콘솔을 열고 $destroy을 트리거하여 cleanup이 올바르게 호출되고 실행되도록하고 싶습니다.

어떻게하면됩니까?

link 함수 내에서 window.blahblah = scope;을 설정하고 JavaScript 콘솔에서 window.blahblah.trigger('$destroy')을 시도했지만 실행하지 않았습니다.

결국 나는이 지시문에 대해 .spec.js 파일에 테스트를 작성해야하므로이를 수행하는 방법을 알고 있으면 도움이 될 것입니다.

당신은 당신이 대신 $scope.$broadcast('$destroy')를 호출 할 수 있습니다 진짜 파괴하지 않고 리스너를 테스트하려는 경우 코드가

window.blahblah.$destroy(); 

수 또는 것입니다 귀하의 경우, 그래서 $scope.$destroy()를 호출하여 직접 파괴 할 수

+0

이런 소리는 단위 테스트 또는 중간 테스트에서 처리 할 수 ​​있습니다. 당신이 묘사하고있는 상황입니까? 그것은 당신이 테스트 코드가 아닌 코드 내에서 실행되도록하려는 것과 같은 소리입니다. – markthethomas

답변

1

.

window.blahblah.$broadcast('$destroy');