From 6756812c3471c0ac22f474cd448487f6283ee1de Mon Sep 17 00:00:00 2001 From: chenjinsong <523037378@qq.com> Date: Mon, 30 Jan 2023 17:07:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AE=8C=E5=96=84=E5=8D=95=E6=B5=8Bdemo?= =?UTF-8?q?=EF=BC=88=E5=A4=9A=E4=B8=AA=E5=90=8Curl=E4=B8=8D=E5=90=8C?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E7=9A=84axios=E8=AF=B7=E6=B1=82=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Test.vue | 10 ++++++++++ test/Test.test.js | 18 ++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/Test.vue b/src/Test.vue index 0925a757..9827a8e2 100644 --- a/src/Test.vue +++ b/src/Test.vue @@ -32,6 +32,8 @@ export default { return { count: 0, obj: { id: 1, title: 'title' }, + differentParamData0: null, + differentParamData1: null, indexedDBValue: null, tableData: [ { @@ -66,6 +68,14 @@ export default { this.count = response.data }) }, + async differentRequestParam () { + axios.get('/api/differentParam', { params: { name: 0 } }).then(response => { + this.differentParamData0 = response.data + }) + axios.get('/api/differentParam', { params: { name: 1 } }).then(response => { + this.differentParamData1 = response.data + }) + }, async setIndexedDBValue () { await indexedDBUtils.selectTable('test').put({ id: 1, name: 'test' }) }, diff --git a/test/Test.test.js b/test/Test.test.js index ff168c63..8b686779 100644 --- a/test/Test.test.js +++ b/test/Test.test.js @@ -14,6 +14,8 @@ import ElementPlus from 'element-plus' const mockId = { data: 2 } const mockTitle = { data: 'title2' } const mockCount = { data: 999 } +const mockDifferentParam0 = { data: 0 } +const mockDifferentParam1 = { data: 1 } describe('单元测试demo', () => { test('Vue组件--点击按钮后count的值+1', async () => { @@ -123,6 +125,22 @@ describe('单元测试demo', () => { expect(wrapper.vm.obj).toEqual({ id: 2, title: 'title2' }) }) }) + test('Vue组件--多个同url不同参数的axios请求', async () => { + require('vue-router').useRoute.mockReturnValue({ query: {} }) + require('vue-router').useRouter.mockReturnValue({ currentRoute: { value: { path: '/' } } }) + // 模拟axios返回数据 + axios.get.mockResolvedValueOnce(mockDifferentParam0) + axios.get.mockResolvedValueOnce(mockDifferentParam1) + // 加载vue组件,获得实例 + const wrapper = mount(Test, { + global: { + plugins: [ElementPlus] + } + }) + await wrapper.vm.differentRequestParam() + expect(wrapper.vm.differentParamData0).toBe(0) + expect(wrapper.vm.differentParamData1).toBe(1) + }) test('Vue组件--模拟indexedDB操作', async () => { require('vue-router').useRoute.mockReturnValue({ query: {} }) require('vue-router').useRouter.mockReturnValue({ currentRoute: { value: { path: '/' } } })