我正在用typescript学习vue中的单元测试,我想测试这个函数
const getCLients =async (): Promise<Client[]> => {
const {data} = await clientsApi.get('/clients')
return data
}
但我得到了一个错误,由于clientsApi.我的客户端api是aun axios示例,看起来像这样:
import axios from 'axios'
const clientsApi = axios.create({
baseURL:import.meta.env.VITE_API_URL
})
export default clientsApi
我的错误是:
类型错误:无法读取未定义的属性(阅读'get')getCLients../src/clients/composables/useClients.ts:14:41
14|常量{数据} =等待客户端Api.get('/客户端')
在我的测试中,我做了axios模拟:
vi.mock('axios')
const mockedAxios = axios as jest.Mocked<typeof axios>;
mockedAxios.get.mockResolvedValue({
data: mockClients,
})
我想我必须做一个axios的模拟。创建,但我已经尝试了很多方法,但我总是得到相同的打字错误。我需要你的帮助,你怎么能解决这个问题?
1条答案
按热度按时间rm5edbpk1#
不确定我是否走在正确的轨道上,因为它只在我这边起作用。我做
vi.mock('axios')
,有Error: spyOn could not find an object to spy uponenter code here
。所以我做vi.mock(the path to the instance )
,做vi.spyOn(the axios instance, 'get').mockResolvedValue
,在你的情况下,可能是clientsApi
。