我正在测试我的http响应。
我想写一个测试,说200到300之间的任何状态都是有效的,其他任何东西都是无效的。
但是,为了测试状态代码,我必须首先创建一个模拟响应,如下所示:
before(() => {
mockResponse = new window.Response(JSON.stringify(mockResponseData), {
status: 200,
headers: {
'Content-type': 'application/json'
}
})
fetchMock.post('/myurl',mockResponse)
})
it('Should ...')
请注意,我直接设置了状态。因此,在创建模拟测试时,我必须设置状态。如何测试一系列状态?
答案 0 :(得分: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
});
});
});