2011-10-14 2 views
5

jasmine으로 jQuery Hover 액션을 테스트하려면 어떻게해야합니까? 나는 자스민로 가져가 작업을 이동하고 'someid'요소가 숨겨져 예상대로 표시되는지 기대 시뮬레이트 수있는 방법 나의 jQuery를이Jasmine으로 jQuery Hover 테스트하기

$('.class').hover(
    function() { $('#someid').hide(); }, 
    function() { $('#someid').show(); } 
); 

처럼 보인다?

답변

12

당신은 직접 마우스 오버 이벤트를 트리거하고 적절한 행동을 테스트 할 수 있어야한다 :

it("should do something on hover", function() { 
    $('.class').trigger('mouseover'); 
    expect($('#someid')).toBeHidden(); 
    $('.class').trigger('mouseout'); 
    expect($('#someid')).toBeShown(); 
}); 

$('#someid')는 DOM에 있어야합니다. 이를 수행하는 가장 좋은 방법은 정착물을 이용하는 것입니다.

+0

감사합니다. Michael. 내가 질문을 게시 한 후 언젠가 그것을 알아 냈다. 그러나 내 질문을 업데이트하는 것을 잊어 버렸습니다! – membLoper

+1

조명기를 사용하여 무엇을 의미하는지 설명 할 수 있습니까? – chovy

+0

나는 그가 재스민 비품을 의미한다고 생각한다. 기본적으로 Fixture는 DOM 특정 JS를 테스트하려는 앱의 HTML 템플릿입니다. http://rubygems.org/gems/jasmine-fixtures – membLoper