我正在使用moo4q+jquery,配合qUnit+sinon测试框架。
目前,为了触发一个点击事件,我已经执行了以下操作:
对我来说,问题在于其他事件,如
这是否只是jQuery API的不一致性?
编辑:
目前,为了触发一个点击事件,我已经执行了以下操作:
object.jThis.click(); // 模拟点击事件
其中,object.jThis
是jQuery对象(包装器集),该对象映射到另一个对象。对我来说,问题在于其他事件,如
.hover()
,与.click()
不同的是无法触发事件。这是否只是jQuery API的不一致性?
编辑:
// wire up event
attach: function() {
this.jThis.hover(function(eventObj) {
this.proxied.showOptionsProxy(true);
}, function() {
this.proxied.showOptionsProxy(false);
});
}
// unit test:
test("Test_hover_shows_menu", 2, function() {
var target = this.getTarget();
this.spy(target.proxied, 'showOptionsProxy');
target.detach(); // must detach only for unit test after setting up spy on the proxy
target.attach();
target.jThis.mouseenter();
ok(target.proxied.showOptionsProxy.calledWith(true), "hovering over options button shows the menu");
target.jThis.mouseleave();
ok(target.proxied.showOptionsProxy.calledWith(false), "mousing away from options button hides menu");
});