请求接口一直返回Undefined

来源:2-12 Jest 中的 Mock(2)

weixin_慕尼黑2187054

2022-04-28

test.only('测试productlist', async () => {
  mockAxios.get.mockResolvedValue({data:'hello'})
  const result = await getProductList()
  expect(result).toEqual('hello');
})

图片描述
请问图片中await后面跟的是接口文件里的方法没错吗?
mockaxios封装如下:

import { jest } from "@jest/globals";
const mockAxios: any = jest.createMockFromModule('axios');

// this is the key to fix the axios.create() undefined error!
mockAxios.create = jest.fn(() => mockAxios);
mockAxios.get = jest.fn(() => Promise.resolve({ data: {} }));
mockAxios.post = jest.fn(() => Promise.resolve({ data: {} }));
mockAxios.put = jest.fn(() => Promise.resolve({ data: {} }));
mockAxios.delete = jest.fn(() => Promise.resolve({ data: {} }));
mockAxios.all = jest.fn(() => Promise.resolve());

export default mockAxios;

接口请求封装了http请求,具体如下:

import request from '../utils/request'

export function getProductList(params: any) {
  return request({
    url: '/products',
    method: 'get',
    params
  })
}

是不是传值格式方面的问题呢?求解答

写回答

1回答

Dell

2022-05-01

await 没有加啊,一步请求你得等待 promise 啊

0
0

前端要学的测试课 从Jest入门到 TDD/BDD双实战

自动化测试实战 Vue / React 项目,让技术水平和架构思维双提升

1434 学习 · 350 问题

查看课程