下面是使用Jest和axios-mock-adapter库模拟axios请求并测试其返回结果的示例代码:
import axios from 'axios';
import MockAdapter from 'axios-mock-adapter';
describe('Test axios', () => {
const mock = new MockAdapter(axios);
const data = { response: true };
mock.onGet('/data').reply(200, data);
it('should return data', () => {
return axios.get('/data').then(response => {
expect(response.data).toEqual(data);
});
});
it('should return 404 error', () => {
mock.onGet('/missing').reply(404);
return axios.get('/missing').catch(error => {
expect(error.response.status).toEqual(404);
});
});
});
这里我们使用MockAdapter库模拟axios请求并返回指定的数据和错误。我们可以通过.reply函数设置请求的状态码和返回的数据。在测试中,我们可以通过.then链式调用或catch函数捕获返回的数据和错误,然后使用expect进行断言。