jQuery 开发中的测试与优化实践
1. 测试用户操作
在开发过程中,依赖用户发起操作的代码不能仅通过调用函数来测试。通常,匿名函数会绑定到元素的事件(如点击事件),这就需要模拟这些事件。
可以使用 jQuery 的 trigger() 方法触发事件,并测试是否出现了预期的行为。如果不想触发原生浏览器事件,可以使用 triggerHandler() 仅执行绑定的事件处理程序。例如,在测试链接的点击事件时, trigger() 会导致浏览器改变位置,这在测试中通常不是期望的行为,此时使用 triggerHandler() 就很有用。
以下是一个简单的按键记录器的测试示例:
var keylogger = {
log: null,
init: function() {
keylogger.log = [];
$(document).unbind("keydown").keydown(function(event) {
keylogger.log.push(event.keyCode);
});
}
};
test("basic keylogger behavior", function() {
// 初始化
keylogger.init();
// 触发事件
var event = $.Event("keydown");
event.key
订阅专栏 解锁全文
681

被折叠的 条评论
为什么被折叠?



