【发布时间】:2019-09-06 20:10:01
【问题描述】:
我正在尝试使用axios-mock-adapter 测试 axios get 请求,这样会在状态不等于 200 的情况下引发错误。但是,当我执行测试时(请参阅api.test.js),我得到以下信息留言:
错误:expect(function).toThrowError(undefined)
预期函数会引发错误。但它没有抛出任何东西。
如何使用axios-mock-adapter 和get 和handleResponse 方法进行测试以确保引发错误?谢谢!
api.test.js:
import axios from 'axios';
import MockAdapter from 'axios-mock-adapter';
const handleResponse = (response) => {
if (response.status !== 200) {
throw new Error('foo');
} else {
return response.data;
}
};
const get = async (url) => {
const response = await axios.get(url, {withCredentials: true});
return handleResponse(response);
};
test('testing that, when making a get request to the appropriate url, an error is thrown ' +
' when status !== 200', async () => {
new MockAdapter(axios)
.onGet('sampleUrl')
.reply(500, {data: 'payload'});
const expectedError = async () => {
await get('sampleUrl');
};
expect(expectedError).toThrowError();
});
【问题讨论】:
标签: javascript jestjs axios axios-mock-adapter