目前,我尝试在使用 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
});
- 我可以将包装器类型设置为 any 以获取 wrapper.vm.testVar 但我认为这不是一个好主意
- 至于
function inter
,我不知道如何检索它。想设置模拟笑话功能来检查间隔