首页 > 解决方案 > 如何在 Nuxt.js 中使用来自 vuex 的 mapState 测试组件?

问题描述

我很难处理这个问题,因为这是我第一次在 NuxtJs 中处理测试。

在 VueJS 中,我要做的基本上就是导入store然后createLocalVue类似的东西,这很好。

但是在 Nuxt 它根本不起作用,所以我很确定我做错了,根据我目前的情况,我在网络上找不到任何东西。

错误 :

无法读取未定义的属性“状态”

店铺结构如下:

-Store
---index.js
---app
-----actions.js
-----state.js
-----mutations.js

这是 Component 的基本方法:

computed: {
  ...mapState({
    appStates: state => state.app.appStates
  })
},

在 spec.js 文件中(这就是我在 VueJs 组件中使用 mapState 测试组件的方式):

import BasicComponent from '@/components/BasicComponent.vue'
import {mount, createLocalVue} from '@vue/test-utils'
import store from "@/store";


describe('BasicComponent .vue', () => {
  let localVue

    beforeEach(() => {
        localVue = createLocalVue()
    })


    test('loged', function () {
        const wrapper = mount(BasicComponent , {
            store,
            localVue
        })
        expect(wrapper.vm.user.loggedIn).toBe(false);
    });
})

我只想知道我应该在这个测试中添加什么来解决这个问题。

标签: vue.jsunit-testingjestjsnuxt.js

解决方案


推荐阅读