2017-05-02 7 views
0

私はsinon.fakeServerを取得しようとしていますが、axiosは偽の応答を返します。偽装されたペイロードを返す代わりに、私はネットワーク要求404を見ることができ、実際のURLに行くことをタイムアウトすることができます。mochaとaxiosを持つSinon fakeServer

マイセットアップ:

describe('test call',() => { 
    var server; 
    beforeEach(() => { 
     server = sinon.fakeServer.create(); 
     server.respondWith(
     "https://my.domain.com/myresource", 
     [200, { "Content-Type": "application/json" }, "[]"] 
    ); 
     server.autoRespond = true 
    }); 
    it('returns empty array', done => { 
     axios 
     .get('https://my.domain.com/myresource') 
     .then(res => { 
      expect(true).to.equal(true); 
      done() 
     }) 
     .catch(err=>{ 
      console.log(err.message); 
      expect(false).to.equal(true); 
      done(); 
     }); 
    }); 
    afterEach(() => { 
     server.restore(); 
    }); 
    }) 

答えて

1

あなたの実行環境は、それが言及していないにもかかわらず、NodeJSであると思われます。他にも同じ問題がありました。見てくださいhere

また、XHRがXHRオブジェクトをスタブしているので、XHRが期待どおりに動作するブラウザでXHRが正しく動作するため、Sinonチームはoutside their scopeと述べています。

Axiosは、サーバーで実行しているときにリクエストを作成するために別のライブラリを使用しているため、このシナリオはデフォルトでは機能しません。 axiosのような具体的な疑似ライブラリがあり、代わりにmoxiosのようなものがあります。

関連する問題