如何模拟特定的 axios 调用?想象一下 2 个 GET 调用:
await axios.get('api/numbers');
await axios.get('api/letters');
Run Code Online (Sandbox Code Playgroud)
那么测试中是这样的:
const mockGet = jest.spyOn(axios, 'get');
mockGet.mockReturnValueOnce(Promise.resolve({ data: 1 }));
mockGet.mockReturnValueOnce(Promise.resolve({ data: 'a' }));
Run Code Online (Sandbox Code Playgroud)
如何mockReturnValueOnce
根据传递给 axios 的 url 创建条件(例如'api/numbers'
-> return Promise.resolve({ data: 1 })
)