Jest无法成功模拟API调用

34gzjxbg  于 2023-02-27  发布在  Jest
关注(0)|答案(1)|浏览(211)

无法在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');

那么我收到网络错误。
我不知道为什么会发生这种情况,有没有人能指出,我在这里错过了什么。我不想打网络电话,但等待它打网络电话

h5qlskok

h5qlskok1#

如果加上缺少的右括号,它是否有效?

it('should resolve api call', async () => {
  ...
}); // Missing close parenthesis here

相关问题