4

我在 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)
  })
})

通过检查,被挂载的组件、存储和 localVue 实例是明确定义的。

4

1 回答 1

0

我处于类似的情况,即wrapper返回未定义。

在测试时,您必须为组件提供渲染所需的一切。

正是(正如@Adam Freymiller 已经提到的那样)所有必需的值(props、store 值等)都没有在测试中设置,所以组件会出错,就像在现实生活场景中一样。

于 2021-10-21T00:38:06.153 回答