1

私は非常に単純な xhr モックの例を実行しており、成功を返すように設定する機能が必要です (この特定の例では、ライブラリを使用できません)。

  function fakeHttpRequest(json) {                                                      
    $.ajaxSetup({
      complete: function() {
        this.success.call(this, json);
      }
    });
  }

上記で行っていることはうまく機能しますが、それを 3 回呼び出すと、これを使用している最後の統合テストが (予想した 1 回ではなく) 3 回返されます。これを呼び出してクリアするか、テスト間でリセットすることは可能ですか?

アップデート

これが私が最終的に得たものです

function fakeHttpRequest(json) {
   jQuery.ajax = function(opts) {
     opts.success(json);
   }
}
4

1 に答える 1

0

ajax 成功応答を偽造するだけでよい場合は、いつでも偽造できます (この質問を参照してください)。

var fakeResponse;

$.ajax = function( options ) {
  options.success( fakeResponse );
}

オブジェクトが $.ajax を呼び出す前に、fakeResponse を設定するだけで、オブジェクトのsuccess関数が呼び出されます。

于 2013-07-20T20:26:26.010 に答える