0
시계에서 트리거되는 각도 지시문 함수가 있습니다. 얼마나 범위의 범위를 벗어난 함수 scroll
의 스크롤 활동을 기반으로 타임 아웃을 테스트합니까?시계를 통해 지시 함수를 테스트하십시오.
scope.$watch('elementId', function(value) {
//How do i test scroll function contents?
scroll(element, value);
});
function scroll (pE, element) {
console.log('Here');
$timeout(function afterTimeout() {
var scrollTo = $('#' + element);
var container = $(pE);
container.animate({scrollTop : scrollTo[0].offsetTop - container[0].offsetTop - 10}, 'slow');
}, 250);
}
자세한 코드는 내가 코드를 정리하기 위해 몇 가지 제안이 여기 http://jsfiddle.net/QGmCF/68/
실제 DOM을 단위 테스트하는 것은 그리 만족스러운 작업이 아닙니다. $ timeout 호출을 테스트하는 방법은 http://stackoverflow.com/a/37527210/3731501을 참조하십시오. 범위에 있지 않기 때문에 범위에 있는지 쉽게 테스트 할 수 있음을 이미 알고 있습니다. Scroll 함수를 스코프/컨트롤러 메소드로 노출하면 테스트 가능성에 도움이됩니다. – estus
아, 알았어. 저것 좀 봐. 감사합니다! – prem89