如何对使用vuex类的typescript Vue组件进行单元测试 从“Vue属性装饰器”导入{Component,Vue}; 从“vuex类”导入{Action,Getter,namespace}; 从“@/types/userTypes”导入{User}; const userModule=名称空间(“用户”); @组成部分({ 名称:“标题” }) 导出默认类标头扩展Vue{ 资料:有; @Getter user!:user; }

如何对使用vuex类的typescript Vue组件进行单元测试 从“Vue属性装饰器”导入{Component,Vue}; 从“vuex类”导入{Action,Getter,namespace}; 从“@/types/userTypes”导入{User}; const userModule=名称空间(“用户”); @组成部分({ 名称:“标题” }) 导出默认类标头扩展Vue{ 资料:有; @Getter user!:user; },typescript,vue.js,testing,jestjs,vuex,Typescript,Vue.js,Testing,Jestjs,Vuex,上面的代码是一个简单的头组件,它使用Getter/名称空间来显示用户数据 问题是如何模拟命名空间('user',Getter) 运行我得到的测试: [Vue warn]:呈现错误:“TypeError:无法读取未定义的” 如果你有一个如何模仿的例子,请分享 <script lang="ts"> import {Component, Vue} from 'vue-property-decorator'; import {Action, Getter, namespace

上面的代码是一个简单的头组件,它使用Getter/名称空间来显示用户数据

问题是如何模拟
命名空间('user',Getter)

运行我得到的测试:

[Vue warn]:呈现错误:“TypeError:无法读取未定义的”

如果你有一个如何模仿的例子,请分享

<script lang="ts">
    import {Component, Vue} from 'vue-property-decorator';
    import {Action, Getter, namespace} from 'vuex-class';
    import {User} from '@/types/userTypes';

    const userModule = namespace('user');

    @Component({
        name: 'Header'
    })

    export default class Header extends Vue {
        data: any;

        @userModule.Getter user!: User;

    }
</script>
import {createLocalVue, shallowMount} from '@vue/test-utils';
import Vuex from 'vuex';
import Header from '@/components/Header.vue';

const localVue = createLocalVue();
localVue.use(Vuex);

const getters = {
    user: jest.fn()
};

const store = new Vuex.Store({
    modules: {
        user: {
            namespaced: true,
            getters
        }
    }
});

describe('Header.vue', () => {
    it('Instantiate component', () => {
        const wrapper = shallowMount(Header, {
            store,
            localVue
        });
        expect(wrapper.isVueInstance()).toBeTruthy();
    });
});