这是我的代码。请帮我找出错误。我正在使用 jest 来测试我使用 Vue 构建的前端。行 const localVue = createLocalVue();发出错误 TypeError: (0 , _testUtils.createLocalVue) is not a function
import { createLocalVue,shallowMount } from '@vue/test-utils'
import Vuex from 'vuex'
import getters from '../../src/store/module/auth/getters.js'
import TheHeader from '@/components/layout/TheHeader.vue'
// const store = new Vuex.Store({
// state: {
// user:null,
// token:'',
// expiresIn:null,
// isUserLoggedIn:false,
// isAdminLoggedIn:false,
// }
// })
describe('TheHeader', () => {
const localVue = createLocalVue();
localVue.use(Vuex);
let store
let state
it('Checks whether the login is correctly displayed', () => {
const cmp = shallowMount(TheHeader, { store,localVue})
expect(cmp.name()).toMatch('TheHeader')
expect(cmp.vm.isLoggedIn()).toBe(false)
})
})
答案 0 :(得分:1)
createLocalVue
在 @vue/test-utils
的第 2 版中被删除,这解释了为什么它在您的示例中未定义。
要安装 Vue 插件(例如 Vuex),请使用 global.plugins
mounting option
要模拟实例 API(例如 this.$store
),请使用 global.mocks
mounting option
import Vuex from 'vuex'
import { shallowMount } from '@vue/test-utils'
import TheHeader from '@/components/TheHeader.vue'
const store = /* Vuex store */
const cmp = shallowMount(TheHeader, {
global: {
plugins: [Vuex],
// OR:
mocks: {
$store: store,
}
}
})