vue单元测试如何测试mapState【solved】

发布于 2022-09-12 00:33:16 字数 1318 浏览 14 评论 0

按照官网给出的用例,但是还是会报错,说组件内的mapState中的变量没有定义。
hello.vue

<template>
  <div class="hello">
    <p>{{submitLocationTotal}}</p>
  </div>
</template>

<script>
import { mapState } from "vuex";
export default {
  data() {
    return {};
  },
  methods: {},
  beforeCreate() {},
  mounted() {},
  watch: {},
  computed: {
    ...mapState({
      submitLocationTotal: state => state.claim.submitLocationTotal
    })
  },
  components: {}
};
</script>

<style lang='less'>
</style>

hello.spec.js

// import Vue from 'vue';
import hello from '@/hello.vue';
import Vuex from 'vuex';
import {
    shallowMount,
    createLocalVue
} from '@vue/test-utils'
const localVue = createLocalVue()
localVue.use(Vuex)

describe('hello', () => {
    let store


    beforeEach(() => {
        store = new Vuex.Store({
            state: {
                claim:{submitLocationTotal: 123} //这里之前没有加上,所有找不到这个变量值。
            },
        })
    })
    it('test value...', () => {
        const wrapper = shallowMount(hello, {
            store,
            localVue
        })
    })
})

然后运行vue run test:unit,会得到如下报错:
image.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

聊慰 2022-09-19 00:33:16

同意楼上,少了一级 claim

夏末染殇 2022-09-19 00:33:16

claim 哪里来的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文