无法使用jest在vuejs中获取vuex store getters数据
unable to get vuex store getters data in vuejs using jest
我正在尝试使用 jest 测试 vuex 存储的 getters 方法。但结果变得不确定。
下面是我正在使用的代码,
storeConfigurations.ts
---------------------
const state = {
update: false
}
const getters = {
[types.GET_UPDATE_VALUE]: (state: { update: any }) => {
return state.update;
}
}
types.ts
--------
export const GET_UPDATE_VALUE = 'GET/update'
尝试在 updatedValue() 方法中测试 store getters 方法,结果未定义。
update.vue
===========
<div class="updateCss">
<customList :items="updatedValue"></customList>
</div>
export default class UpdateTest extends Vue {
get updatedValue() {
const updatedValue = this.$store.getters[
types.GET_UPDATE_VALUE
];
}
update.spec.ts
==============
import Vuex from 'vuex'
import storeConfigurations from '@/store/modules/storeDetails'
const localVue = createLocalVue()
localVue.use(Vuex)
describe('Update Component TestSuite', () => {
beforeEach(() => {
let store
let updateWrapper
store = new Vuex.Store({
modules: {
storeConfigurations: {
state: { update:false},
getters: {
updatedValue: jest.fn()
}
}
}
})
updateWrapper = shallowMount(UpdateTest , {
store,
localVue
}
这里我试图从商店获取更新值,但在模拟商店时我得到了未定义。
通过在模块内为 getter 提供状态变量解决了问题。
我正在尝试使用 jest 测试 vuex 存储的 getters 方法。但结果变得不确定。 下面是我正在使用的代码,
storeConfigurations.ts
---------------------
const state = {
update: false
}
const getters = {
[types.GET_UPDATE_VALUE]: (state: { update: any }) => {
return state.update;
}
}
types.ts
--------
export const GET_UPDATE_VALUE = 'GET/update'
尝试在 updatedValue() 方法中测试 store getters 方法,结果未定义。
update.vue
===========
<div class="updateCss">
<customList :items="updatedValue"></customList>
</div>
export default class UpdateTest extends Vue {
get updatedValue() {
const updatedValue = this.$store.getters[
types.GET_UPDATE_VALUE
];
}
update.spec.ts
==============
import Vuex from 'vuex'
import storeConfigurations from '@/store/modules/storeDetails'
const localVue = createLocalVue()
localVue.use(Vuex)
describe('Update Component TestSuite', () => {
beforeEach(() => {
let store
let updateWrapper
store = new Vuex.Store({
modules: {
storeConfigurations: {
state: { update:false},
getters: {
updatedValue: jest.fn()
}
}
}
})
updateWrapper = shallowMount(UpdateTest , {
store,
localVue
}
这里我试图从商店获取更新值,但在模拟商店时我得到了未定义。
通过在模块内为 getter 提供状态变量解决了问题。