2011-10-14 14 views
5

¿Cómo debo probar una acción jQuery Hover con Jasmine? Mi jQuery pareceProbando jQuery Hover con Jasmine

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

¿Cómo podría simular trasladando la acción de desplazarse con jazmín y esperar que el elemento 'someid' se oculta y se muestra como debería?

Respuesta

12

Usted debe ser capaz de desencadenar un evento directamente encima del ratón y luego probar para el comportamiento apropiado:

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

$('#someid') debe estar en el DOM. La mejor manera de hacerlo es a través de un accesorio.

+0

Gracias Michael. Lo descubrí en algún momento después de haber publicado la pregunta. Sin embargo, se olvidó de actualizar mi pregunta! – membLoper

+1

¿Puedes explicar a qué te refieres con el uso de un accesorio? – chovy

+0

Creo que se refiere a los accesorios de Jasmine. Básicamente, los accesorios son plantillas HTML de su aplicación en las que desea probar su JS específico de DOM. http://rubygems.org/gems/jasmine-fixtures – membLoper