ジャスミンを使用していくつかの JavaScript コード (バックボーン ビュー) をテストしようとしています。
テストしようとしている定義済みの BackBone ビュー内の関数は次のとおりです。
var aView = Backbone.View.extend({
events: {
'click #btn': 'update'
}
update: function(e){
e.preventDefault();
$.ajax({
....
});
}
});
したがって、関数をテストするために、関数を呼び出してから、spyOn $.ajax を呼び出して、適切な URL で呼び出されたかどうかを確認します。しかし、問題は、イベントを関数に渡して ajax を実行できないことです。
ジャスミンのコード ブロックは次のとおりです。
it("tests update ajax", function() {
spyOn($, "ajax");
//Call update function
this.aView.update(this.aView.$("#btn").trigger("click"));
expect($.ajax).toHaveBeenCalled();
});
現在受け取っているエラーは次のとおりです。
TypeError: Object [object Object] has no method 'preventDefault'
必要なすべての情報を提供して、質問が正確であることを願っています:)