ジャスミンアヤックスが必ず動作します。ここで(カルマの上にジャスミン)コードを作業からのサンプルは次のとおりです。
describe('RequesterTest', function(){
beforeEach(function(){
jasmine.Ajax.install(); // this enables interception
});
afterEach(function(){
jasmine.Ajax.uninstall(); // disables interceptions
})
it('makes $.ajax', function(){
spyOn($, 'ajax');
$.ajax({url: 'http://example.com'});
expect($.ajax).toHaveBeenCalled();
});
it('assert success callback for ajax', function(){
spyOn($, 'ajax');
var myCallback = function(){};
$.ajax({url: 'http://example.com', success: myCallback});
var actualAjaxOptions = $.ajax.calls.mostRecent().args[0];
expect(actualAjaxOptions).toEqual(jasmine.objectContaining({
success: myCallback,
}));
});
});
exapmleは、グローバルに定義されたjQueryとモジュールなし/ AMDの使用を前提としています。
ご回答いただきありがとうございます。しかし、私は説明に間違いをしました。 **標準** xmlhttp **の代わりに** fetch **を使用しています。だから、ジャスミン・アヤックスはうまくいきません。フェッチモックを使用しようとしていますが、動作しません。 – Velidan
申し訳ありませんが 'フェッチ'のポイントを見逃しています。 afairこのメソッドは約束を返します。そのため、あなたはそれを模擬して約束を返すように、何らかのラッパーを作成するかもしれません。 )ちょっとしたことかもしれないが動作する)) – xmike
あなたは絶対に正しいです:私はそれが最良のアイデアだと思っています。だから私たちは別の "複雑な"解決策が出るまでそれを使うべきです。 – Velidan