2016-10-22 2 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를 사용할 수도 있습니다. 그러나 재현 할 수 없습니다 : / –

관련 문제