gpt4 book ai didi

jquery - Jasmine Clock 模拟和 JQuery 效果 'complete' 功能不能很好地配合

转载 作者:行者123 更新时间:2023-12-01 08:18:13 25 4
gpt4 key购买 nike

我发现测试 JQuery 动画时出现问题。问题是,在 jasmine.Clock.useMock() 模式下,JQuery 在执行效果后不会调用 complete 函数。

逻辑:

$('#mydiv').fadeOut('normal', function () {
// this is called AFTER the test ends
// but should be called after jasmine.Clock.tick(1000);
$(this).remove();
})

规范:

it('should pass', function () {
jasmine.Clock.useMock();
// call logic
jasmine.Clock.tick(1000);
// using jasmine-jquery matcher
expect($('#mydiv')).not.toExist();
})

测试失败并显示消息:

Expected '<div id="mydiv" style="opacity: 0; "></div>' not to exist.

这意味着效果正确结束,但是complete函数没有被调用。它实际上是在测试运行程序完成执行后被调用的。

我不确定这是否是要向 JQuery 或 Jasmine 开发人员报告的错误。也许有人会建议解决方法。

我的目标是测试逻辑执行后该元素是否被删除,因此我需要 not.toExist() 匹配器。

最佳答案

请参阅您的 github 问题的答案。 jQuery 效果和 Jasmine 的模拟时钟不兼容。

关于jquery - Jasmine Clock 模拟和 JQuery 效果 'complete' 功能不能很好地配合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9141800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com