gpt4 book ai didi

javascript - 用 Jest 测试 jQuery 动画

转载 作者:行者123 更新时间:2023-11-29 23:11:57 33 4
gpt4 key购买 nike

我想使用 Jest 测试框架测试 jQuery 动画状态,而无需等待它们完成。我尝试使用 jest.useFakeTimers 和所有相关的计时器方法,但没有成功。

$(() => {
const $button = $('button');
const $ul = $('ul');

$button.click(() => {
$ul.slideToggle();
});

// Random Test - Not Jest
$button.click();
console.log("Visible", $ul.is(':visible') === true);
$button.click();
console.log("Hidden", $ul.is(':visible') === false);
});
ul { display: none; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<button>Toggle</button>
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>

最佳答案

jQuery 提供了一个 fx.off 设置,它会强制动画自动跳转到它们的最终状态。

beforeAll(() => {
$.fx.off = true;
});

afterAll(() => {
$.fx.off = false;
});

test('whatever you want', () => {
// ....
})

文档在这里:https://api.jquery.com/jquery.fx.off/

关于javascript - 用 Jest 测试 jQuery 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53732869/

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