如何解决茉莉,JQuery UI addClass测试问题
| 我正在尝试使用持续时间测试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);
这始终有效。 WTF?
解决方法
我花时间为它设置了一个小提琴:http://jsfiddle.net/ahus1/pZGdP/
我“发明”了使它工作的必要条件,例如
beforeEach
。我不知道您使用的版本,但是在此示例中,我使用了可用的最新版本。
我注意到,只有在我向样式表中确实添加了适当的类时,它才开始起作用。如果CSS中没有“ 3”类,则没有过渡,测试将失败。
也许小提琴会为您解决。请看一看。
最好的祝福,
亚历山大
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。