Vue-test-utils 包装器未定义
Vue-test-utils wrapper undefined
我在 Jest 中有以下组件测试套件。我已经成功地为遵循类似结构的其他几个组件编写了单元测试:
import { createLocalVue, mount } from '@vue/test-utils'
import Vuex from 'vuex'
import storeMock from '@mocks/store'
import RequestProposalsContainer from '@/components/RequestProposals/RequestProposalsContainer'
describe('ProviderComparison component', () => {
let localVue, store, wrapper, storeSetup
beforeEach(() => {
localVue = createLocalVue()
localVue.use(Vuex)
storeSetup = storeMock()
store = new Vuex.Store(storeSetup)
/* wrapper is undefined and I'm not sure why */
wrapper = mount(RequestProposalsContainer, {
localVue,
store
})
})
it('renders correct structure', () => {
/* undefined */
console.log('wrapper: ', wrapper)
})
})
通过检查,被挂载的组件、store、localVue实例都是定义明确的。
我遇到了类似的情况,wrapper
会返回未定义的。
测试时,您必须为组件提供渲染所需的一切。
(正如@Adam Freymiller 已经提到的那样)所有必需的值(道具、存储值等)都没有在测试中设置,所以组件会出错,就像它在真实场景。
我在 Jest 中有以下组件测试套件。我已经成功地为遵循类似结构的其他几个组件编写了单元测试:
import { createLocalVue, mount } from '@vue/test-utils'
import Vuex from 'vuex'
import storeMock from '@mocks/store'
import RequestProposalsContainer from '@/components/RequestProposals/RequestProposalsContainer'
describe('ProviderComparison component', () => {
let localVue, store, wrapper, storeSetup
beforeEach(() => {
localVue = createLocalVue()
localVue.use(Vuex)
storeSetup = storeMock()
store = new Vuex.Store(storeSetup)
/* wrapper is undefined and I'm not sure why */
wrapper = mount(RequestProposalsContainer, {
localVue,
store
})
})
it('renders correct structure', () => {
/* undefined */
console.log('wrapper: ', wrapper)
})
})
通过检查,被挂载的组件、store、localVue实例都是定义明确的。
我遇到了类似的情况,wrapper
会返回未定义的。
测试时,您必须为组件提供渲染所需的一切。
(正如@Adam Freymiller 已经提到的那样)所有必需的值(道具、存储值等)都没有在测试中设置,所以组件会出错,就像它在真实场景。