javascript - Vue-test-utils 包装器未定义

标签 javascript vue.js unit-testing vuejs2 vue-test-utils

我在 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 实例是明确定义的。

最佳答案

我遇到了类似的情况,wrapper会回来未定义。
在测试时,您必须为组件提供渲染所需的一切。
这是(正如@Adam Freymiller 已经提到的)所有必需的值( Prop 、存储值等)都没有在测试中设置,所以组件会出错,就像它在现实生活中的情况一样。

关于javascript - Vue-test-utils 包装器未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52598876/

相关文章:

javascript - HTML 5 视频录制和存储流

javascript - 我如何最初将幻灯片容器设置为距左边距 10%,并在到达末尾时距右边距 10%? (vue-awesome-swiper)

javascript - Vuex 渲染错误

c# - Asp.net 核心 - 未找到 dotnet 测试

c++ - 在 C++ 中模拟非类方法

javascript - Angular 表单不检测浏览器插入的文本

javascript - Sencha 触摸 : How to change the default image of Select dropdown field?

javascript - html.erb 模板中的 v-model 呈现 function () { [native code] }

java - PowerMockito thenReturn 返回错误的对象

javascript - 无法将货币格式添加到输入总和中的总输入