次のように、送信イベントにハンドラーがアタッチされたフォームがあります。
$('#myForm').bind('submit', $.proxy(this, 'form_onSubmit'));
このコード行をテストして、フォームが送信されたときに正しいイベント ハンドラーが使用されることを確認する方法がわかりません。たとえば、ページが無限ループで自分自身を送信し続けるため、これは機能しません。
describe('Submitting the form', function() {
it ('Uses the correct event handler', function() {
spyOn(myConstructor, 'form_onSubmit');
$('#myForm').trigger('submit');
expect(myConstructor.form_onSubmit).toHaveBeenCalled();
});
});
私も使用しようとしています:
expect($('#myForm')).toHandleWith('submit', myConstructor.form_onSubmit);
しかし、これの実際の例をどこにも見つけることができなかったので、間違って使用していると確信しています (Jasmine は「undefined のプロパティ 'submit' を読み取れません」というエラーをスローしています。データ(「イベント」))。
誰でも助けてもらえますか?私は何時間もそれに取り組んできました!ありがとう。