小编Car*_*toB的帖子

Vue 3 Composition API 单元测试:$route 在 onMounted() 挂钩中未定义

onMounted()我的组件函数中有一个setup()访问 的钩子$route.params property,但是当我$route在测试中模拟该对象时,$routeundefined位于钩子中onMounted(),因此引发错误。这是代码

组件.vue:

<template>
  <div>{{ this.$route.params.id }}</div>
</template>

<script lang="ts">
import {defineComponent, onMounted} from 'vue'
import {useRoute} from "vue-router";

export default defineComponent({
  name: 'Component',
  setup() {
    const route = useRoute()
    onMounted(() => {
      console.log(route.params.id)
    })

    return {}
  }
})
</script>
Run Code Online (Sandbox Code Playgroud)

组件规格:

import {mount} from "@vue/test-utils";
import Component from "@/views/Bundle/Component.vue";

test('test description', async () => {
  const mockRoute = {
    params: {
      id: 1
    }
  }
  const …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vue-test-utils vuejs3

5
推荐指数
1
解决办法
1380
查看次数

标签 统计

javascript ×1

vue-test-utils ×1

vue.js ×1

vuejs3 ×1