私はmoo4q+jqueryをqUnit+sinonテストフレームワークで使用しています。
現在、クリックイベントをトリガーするために、次のことを行いました。
object.jThis.click(); // simulate a click event
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");
});