イベントを「正直に」シミュレートする方法

こんにちは親愛なるhabrasociety。
少し前に、Rubyコードのテストだけでなく、jsもテストするようになりました。 と
私はjsでIUに着き、それをテストするために、あらゆる種類の異なるイベントをシミュレートする必要がありました。 検索した後、jqueryライブラリの1つで解決策を見つけました。 テスト用の拡張機能には、イベントをシミュレートするために必要なライブラリがありました。 しかし、残念ながら、jqueryではなく、プロトタイプ(私は熱心なルービストであり、それが好きです)を使用します。

少し考えて、プロトタイプのプラグインとして使用するためにこれらを調整することにしました。 何から来たの? まあ、それはテストで私をたくさん助けました。 あなたがテストされたコードのサポーターでもある場合-それもあなたに役立ちます。

使用中は、次のようになります。

$('foo').simulate('keypress', Event.KEY_RETURN);

$('foo').simulate("drag", {
dx: 10,
dy: 0,
onComplete: function(element){
alert('drag simulation $(' + element.id + ')');
}
});


EventではなくElementを意図的に拡張しました-これは議論できますが、より理にかなっているようです。 圧縮バージョンの重量は3Kで 7KのドキュメントがありますGit

jqueryファンの場合-上記のリンク。

Source: https://habr.com/ru/post/J77267/


All Articles