2016-10-22 7 views
1

私のhttp応答をテストしています。テスト:複数のステータスコード応答を模擬する

200から300までの任意のステータスが有効で、それ以外のものが無効であることを示すテストを書きたいと思います。しかし、ステータスコードをテストする

、私が最初にそうようなモック応答作成する必要があります。私は直接ステータスを設定

before(() => { 
    mockResponse = new window.Response(JSON.stringify(mockResponseData), { 
     status: 200, 
     headers: { 
     'Content-type': 'application/json' 
     } 
    }) 
    fetchMock.post('/myurl',mockResponse) 
}) 

it('Should ...') 

お知らせ。したがって、模擬テストを作成するときは、ステータスを設定する必要があります。どのようにしてステータスの範囲をテストできますか?あなたはそれぞれのケースをテストするためにそのような何かを行うことができます

答えて

1

describe('http tests', function() { 

    var codes = []; 
    for(var code = 200; code < 300; code++){ 
    codes.push(code); 
    } 

    codes.forEach(function(code){ 
    it(`should responds with a ${code} status`, function() { 

     mockResponse = new window.Response(JSON.stringify(mockResponseData), { 
     status: code, 
     headers: { 
      'Content-type': 'application/json' 
     } 
     }) 
     fetchMock.post('/myurl',mockResponse) 

     //test code 
    }); 
    }); 
}); 
+0

はそれを行う必要がないように期待していたが、私はそれが唯一の解決策だと思います。 –

+0

また、200と300の間の数値を生成するために、libのようなチャンスや単純なランダムを使うこともできます。しかし、再現性はありません:/ –

関連する問題