1

我有以下 QUnit 测试:

test 'can view saved status and undo if needed', ->
    save_link = $('.save-link')
    my_profile_div = $('.searchbar .span5')
    undo_save = $('#undo-save')

    my_profile_div.mouseover()
    equal(undo_save.css('visibility'), 'hidden')
    my_profile_div.mouseout()

    save_link.click()

    my_profile_div.mouseover()
    equal(undo_save.css('visibility'), 'visible')   
    my_profile_div.mouseout()
    equal(undo_save.css('visibility'), 'hidden')

它点击一个链接,然后期望元素出现一些悬停行为my_profile_div。不幸的是,mouseover 和 mouseout 事件不会从测试中触发。使用此实现时,我没有收到任何警报:

$('.searchbar .span5').mouseover -> 
    alert('mouseover')

$('.searchbar .span5').mouseout -> 
    alert('mouseout')

在浏览器中,我确实收到了警报,但在我运行上面的测试时却没有,这让我觉得我没有正确触发事件。我也试trigger('mouseover')了也没用。

感谢您花时间阅读本文,伙计们。我非常感谢您的帮助。

注意:测试是针对所需的行为。实现只是为了确保测试正在做它应该做的事情。

4

1 回答 1

-1

我宁愿使用触发器来触发事件。

$('targetElement').trigger('eventName');
于 2012-10-24T14:30:14.557 回答