Qnit点击触发测试导致无限刷新循环
Qunit click trigger test causes infinite refresh loop
我正试图为一个简单的jQuery
函数编写一些qunit
测试。我正在测试的函数选择了一个元素input
,并向它添加了一个监听器(点击和按键)。侦听器隐藏另一个元素.has-error
:
$('input').on('keypress click', function () {
$('.has-error').hide();
});
我从两个测试开始:一个测试检查按键后.has-error
是否不可见,另一个测试如果什么都没发生,则检查.has-error
是否可见:
test("errors should be hidden on keypress", function () {
$('input').trigger('keypress');
equal($('.has-error').is(':visible'), false);
});
test("errors not be hidden unless there is a keypress or a click",
function() {
equal($('.has-error').is(':visible'), true);
});
这很好,我的测试通过了。问题开始于我尝试添加第三个测试,以检查点击input
元素后.has-error
是否隐藏:
test("errors should be hidden on click", function () {
$('input').trigger('click');
equal($('.has-error').is(':visible'), false);
});
然后我的测试页面进入了一个无限循环。看来第一次和最后一次测试都失败了。然而,删除第一个测试似乎并不能解决问题。
我想我的第三次测试有问题,但不知道是什么。
发现问题所在。事实证明,我的选择器$('input')
过于笼统:在Quit的测试页面上,至少还有一个其他元素被该选择器捕获。
相反,使用表单的input
元素的id
起作用。
相关文章:
- 强制模板刷新ember.js
- 如何通过ajax刷新JSF填充的javascript变量
- 结合jQuery和jetpack无限滚动
- 如何解决Yii中的页面刷新问题
- Jquery提交表单而不刷新
- 刷新页面后会出现警报
- ng应用程序使脚本无限运行
- 刷新后保留对网页的更改
- 如何在不刷新页面的情况下更新显示框
- 重定向时角度刷新浏览器
- 如何防止jQueryonclick事件中的Ruby方法在页面刷新时执行
- Javascript,输出结果后页面不断刷新
- 刷新jqGrid;t在启用无限滚动的情况下保存当前页面位置
- 数据表无限 + 自动数据刷新
- PHP分配Javascript变量导致无限刷新
- Wordpress:JQuery未定义,导致IPhone无限刷新
- file_get_contents无限次刷新客户端页面
- Qnit点击触发测试导致无限刷新循环
- jQuery infinitesscroll, kaminari和Rails 4.在另一个页面上触发无限滚动.刷新后就不
- 自动刷新无限潜水