2

目前,我尝试在使用 vue-test-utils 时获取我的 vue 组件中的属性,我已经包含了VueCompositionAPI

这是我的代码:

测试.vue

<template>
  <div/>
</template>

<script lang="ts">
import { defineComponent, reactive, onMounted, toRefs } from '@vue/composition-api'

export default defineComponent({
  props: {
    name: String
  },
  setup (props) {
    const state = reactive({
      testVar: 'test'
    })

    function inter () {
        console.log("run")
    }

    onMounted(() => {
      setInterval(() => { inter() }, 4000)
    })

    return { ...toRefs(state) }
  }
})
</script>

测试规范.ts

import Vue from 'vue'
import VueCompositionApi from '@vue/composition-api'
Vue.use(VueCompositionApi)

import { shallowMount } from '@vue/test-utils'
import Test from '@/components/Test.vue'

describe('has member', () => {
   const wrapper = shallowMount(VideoPlayer, {
      propsData
   })

   //i want to access value in using wrapper.vm.testVar but typescript return error

});
  1. 我可以将包装器类型设置为 any 以获取 wrapper.vm.testVar 但我认为这不是一个好主意
  2. 至于function inter,我不知道如何检索它。想设置模拟笑话功能来检查间隔
4

0 回答 0