5

我应该如何使用 Jasmine 测试 jQuery 悬停动作?我的 jQuery 看起来像

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

我如何模拟用茉莉花移动悬停动作并期望“someid”元素被隐藏并按应有的方式显示?

4

1 回答 1

12

您应该能够直接触发鼠标悬停事件,然后测试适当的行为:

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

$('#someid')必须在 DOM 中。最好的方法是通过固定装置。

于 2012-01-26T22:45:55.800 回答