我有一个react组件,当单击Submit按钮时,它将触发两个API调用,我都希望能够对其进行测试。
我像这样嘲笑axios
jest.mock('axios', () => jest.fn(() => Promise.resolve({})));
axios.mockImplementation((request) => {
console.error(request);
switch (request.url) {
case '/api-1':
return Promise.resolve(api1Mock);
case '/api-2':
return Promise.resolve(api2Mock);
default:
return Promise.reject(new Error('not found'));
}
});
运行规范时,我检查它是否被调用过两次,而规范返回时,它仅被调用过一次,然后出错。
expect(axios).toHaveBeenCalledTimes(2);
但是我能够看到两个API调用的两个控制台日志,所以我知道它们都被击中了。有什么想法吗?