当前位置: 首页 > Web前端 > vue.js

在vue组件中使用vitest测试axios

时间:2023-03-31 18:04:08 vue.js

1.安装Vitest参考官网yarnadd-Dvitest如果没有安装vue-test-utilsyarnadd-D@vue/test-utils2.在测试用例中使用,假设组件挂起post请求将被发送到/api/v1/testcomponents.vue'//模拟请求结果,假数据constresult={message:'datasucceeded'}test('test',async():Promise=>{//设置axios监听并绑定fakedatatoconstspyPost=awaitvi.spyOn(axios,'post').mockResolvedValue(result)//挂载你的vue组件constwrapper=awaitmount(Components)//模拟请求参数constparams={id:'1'}//模拟post请求并验证expect(axios.post).toHaveBeenCalledWith('/api/v1/test',params)//模拟请求并验证结果expect(awaitaxios.post().then(res=>res)).toBe(result)//清除axios监控gspyPost.mockRestore()})