2011-10-14 20 views
5

Come dovrei andare a testare un'azione jQuery Hover con Jasmine? mio jQuery sembraTestare jQuery Hover con Jasmine

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

Come potrei simula il movimento l'azione hover con gelsomino e aspettarsi che elemento 'QualcheID' è nascosto e mostrato come dovrebbe?

risposta

12

Si dovrebbe essere in grado di innescare direttamente un evento di passaggio del mouse e quindi verificare per il comportamento più appropriato:

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

$('#someid') deve essere nel DOM. Il modo migliore per farlo è attraverso un appuntamento fisso.

+0

Grazie Michael. L'ho capito un po 'dopo che ho postato la domanda. Tuttavia, ho dimenticato di aggiornare la mia domanda! – membLoper

+1

puoi spiegare cosa intendi usando un apparecchio? – chovy

+0

Credo che intenda Jasmine Fixtures. Fondamentalmente i dispositivi sono modelli HTML della tua app in cui si desidera testare il proprio JS DOM specifico. http://rubygems.org/gems/jasmine-fixtures – membLoper

Problemi correlati