vue单元测试如何测试mapState【solved】
按照官网给出的用例,但是还是会报错,说组件内的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
,会得到如下报错:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
同意楼上,少了一级
claim
。claim 哪里来的