无法在Jest测试中成功模拟API调用
网络帮助程序,js
import axios from 'axios';
export const getOptions = (url, userKeys) => axios.get(`${url}value=${userKeys}`)
.then((res) => res);
开玩笑的测试如下:
options.test.js
const mockData = [
{ label: 'SEABROOK, 3028, VIC' },
{ label: 'SEABIRD, 6042, WA' },
];
jest.mock('axios');
describe('test api', ()=> {
it('should resolve api call', async () => {
axios.get.mockResolvedValue({data: mockData});
const fetchOptions =getOptions('http://localhost:8080/options, 'seab');
expect(fetchOptions.data).toEqual(mockData);
}
})
如果我运行上面的测试,我得到
Promise.pending()
如果我以
await getOptions('http://localhost:8080/options, 'seab');
那么我收到网络错误。
我不知道为什么会发生这种情况,有没有人能指出,我在这里错过了什么。我不想打网络电话,但等待它打网络电话
1条答案
按热度按时间h5qlskok1#
如果加上缺少的右括号,它是否有效?