gpt4 book ai didi

jquery - Jasmine,JQuery UI addClass 测试问题

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

我正在尝试测试具有持续时间的 addClass 最简单的情况(使用 jQuery UI 和 Jasmine)。

这是失败的测试:

it("should use jquery ui", function() {
runs(function() {
expect(el.hasClass("fdsa")).toBeFalsy();
el.addClass("fdsa", 1000);
expect(el.hasClass("fdsa")).toBeFalsy();// this should not be failing, but it is
});

waits(1000);

runs(function() {
expect(el.hasClass("fdsa")).toBeTruthy();
});
});

我的期望是,直到 1000 毫秒之后才会有该类。当我从浏览器控制台测试它时,它的行为是这样的。

这是我使用的健全性检查(在 Jasmine 浏览器窗口中测试)。

el = $($("div")[0]);
el.addClass("qwer", 1000);
console.log(el.hasClass("qwer")); // output is "false"
setTimeout( function(){
console.log(el.hasClass("qwer")); // output is "true"
}, 1001);

这总是有效的。搞什么?

最佳答案

我花了时间为它设置了一个 fiddle :http://jsfiddle.net/ahus1/pZGdP/

我“发明”了让它正常工作所需的东西,比如 beforeEach。我不知道您使用的版本,但在本示例中我使用了可用的最新版本。

我注意到,当我真正向样式表添加适当的类时,它才开始起作用。当CSS中没有.fdsa类时,就没有转换,测试将失败。

也许 fiddle 可以为你解决这个问题。请看一下。

最诚挚的问候,亚历山大。

关于jquery - Jasmine,JQuery UI addClass 测试问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6360256/

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