[英]QUnit for javascript Testing on events
我真的是javascript测试新手。 我能够测试qunit的所有其他功能。 但是无法弄清楚如何使用qunit测试事件处理程序功能。 在看到jquery event.js测试套件中的触发器,绑定和委托函数示例后,我尝试了以下方法。
test('Event Handling', function () {
var hai = function() {
console.log('Clicked');
ok(true, 'click event triggered');
};
eventLib.addEvent(document.getElementById('qunit-header'), 'click', hai);
$('#qunit-header').trigger('click');
ok(true, 'It happend');
});
这里的eventLib是我编写的用于附加和分离事件的函数。 但是上面的代码似乎在qunit html接口上没有提供任何输出[除了它发生]。 但是,如果我手动单击标题,则事件处理程序将记录到控制台。 我正在使用jquery v1.6.2
似乎.trigger
仅运行通过jQuery绑定的事件,而不通过其他方式运行。 在Chrome上,这只会记录jquery
: http : //jsfiddle.net/LYxD4/ 。
$("#x").get(0)
.addEventListener("click", console.log.bind(console, "native"),
false);
$("#x").on("click", console.log.bind(console, "jquery"));
$("#x").trigger("click");
您可以改用.dispatchEvent
: http : //jsfiddle.net/LYxD4/1/ 。
var event = document.createEvent("HTMLEvents");
event.initEvent("click", true, true);
$(...).get(0).dispatchEvent(event);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.